Я знаю, что это позволяет только классу установить его, но какой смысл?
Как мне решить проблему с идентификаторами readonly?
Скажем, у меня есть человек, класс:
public class Person
{
public string Name { get; set; }
public int Id { get; private set; }
public int Age { get; set; }
}
И это в Entities.dll
, используемом GUI, BL и DAL.
GUI вызывает BL:
List<Person> p = BL.PeopleBL.GetPeople();
Ради примера называет DAL:
...
while(dr.read())
{
returnPersonList.add( new Person{ Age=dr.GetInt32(1), Id=dr.GetInt32(0), Name=dr.GetString(2)})
}
...
конечно, я не могу этого сделать, потому что Id является частным набором;
Как правильно это сделать?
Как я могу позволить BL / Dal устанавливать Id, но не в графическом интерфейсе?
Или это даже не правильное использование частного набора?
Я просто хотел добавить, что это ваше типичное приложение БД, где pk - это Id, и его не следует изменять (только BL / DAL)