我应该如何处理没有实体有密钥的EF代码第一个模型?

时间:2012-12-15 10:19:15

标签: entity-framework ef-code-first entity-framework-5

我使用实体数据模型向导基于SQL Server中的对象目录视图生成EF数据模型(带有POCO的edmx),即sys.objects,sys.tables,sys.columns等。当我尝试通过我的DbContext的DbSet属性访问任何数据,EF抛出ModelValidationException,抱怨实体没有定义键。

我可以很容易地修改生成实体POCO的T4模板,使其包含一个标有[Key]属性的虚拟属性,但这看起来有点笨拙,因为现在我的实体类有一个'幻影'属性不具备属于他们。选择键列的名称也是一个问题,但我可以为类的唯一键列名生成一个GUID。

但是,是不是有更好,更整洁的方式告诉EF我不需要键列,因为这个模型是严格只读的?

ADDENDUM:如果我使用实体框架电源工具 - 反向工程师代码优先工具,它会为每个工具创建一个映射类(派生自EntityTypeConfiguration)实体,并且实体没有定义键,它使用实体中的所有字段定义一个。

0 个答案:

没有答案