实体框架代码第一只读密钥

时间:2011-03-17 02:04:22

标签: entity-framework entity-framework-4.1

在EF 4.1 RC1中,我有一个像Category这样的简单实体,其属性ID为int。我可以将它设为只读属性并仍然可以使用吗?

如果没有,你如何保护PK / FK?

1 个答案:

答案 0 :(得分:15)

一种方法是定义您的ID属性,如下所示:

public int ID { get; internal set; }

...然后在与“Category”类相同的程序集中定义您的DbContext类。它具有对属性的写访问权限,但程序集外的类不会。

如果需要在单独的程序集中定义DbContext,可以使用InternalsVisibleTo属性让程序集看到“Category”类的内部。