在我看来,几乎默认情况下,所有代码首先POCO应该为其主键a.k.a.自动生成的Id设置私有设置器。
喜欢这个 - public int id {get;私人集; }
这是不正确的假设吗?我不希望我的API允许设置自动生成的列。
答案 0 :(得分:1)
公开setter不应该是一个问题,因为它甚至没有在数据访问对象层之外公开这个POCO。
公开装饰有特定框架属性的POCO,甚至公开某种有关存储的信息的POCO(在本例中为实体关系数据库)是一种不好的做法。
考虑将其包装在接口中并将其作为该接口的实例返回。通过这种方式,您可以享受两全其美。公开必要的属性,只允许设置其中的一部分。
无论如何,我认为EF不会太喜欢私人制定者。