实体框架代码第一个私有集用于标识列

时间:2016-06-02 19:20:15

标签: entity-framework ef-code-first

在我看来,几乎默认情况下,所有代码首先POCO应该为其主键a.k.a.自动生成的Id设置私有设置器。

喜欢这个 -  public int id {get;私人集; }

这是不正确的假设吗?我不希望我的API允许设置自动生成的列。

1 个答案:

答案 0 :(得分:1)

公开setter不应该是一个问题,因为它甚至没有在数据访问对象层之外公开这个POCO。

公开装饰有特定框架属性的POCO,甚至公开某种有关存储的信息的POCO(在本例中为实体关系数据库)是一种不好的做法。

考虑将其包装在接口中并将其作为该接口的实例返回。通过这种方式,您可以享受两全其美。公开必要的属性,只允许设置其中的一部分。

无论如何,我认为EF不会太喜欢私人制定者。