Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 具有实体框架4.0的复合数据库密钥_Entity Framework_Primary Key_Composite Key - Fatal编程技术网

Entity framework 具有实体框架4.0的复合数据库密钥

Entity framework 具有实体框架4.0的复合数据库密钥,entity-framework,primary-key,composite-key,Entity Framework,Primary Key,Composite Key,我们公司对大型数据库的重新设计广泛使用了数据库上的复合主键 忘记性能影响,在EntityFramework4.0中使用此db时是否会造成任何困难?数据库结构不太可能改变,我不想进行“哲学”辩论,但实际影响是什么 据他所说,“复合键使得任何类型的对象/关系映射和持久性都变得更加困难。”但他并没有真正说明原因。这与EntityFramework4.0处理键的方式有关吗?不,EF4支持复合键 问题是具有代理键和复合键的表。您只能在每个模型上设置一个键;该键可以有多个字段,但从设计器的角度来看,只能有一

我们公司对大型数据库的重新设计广泛使用了数据库上的复合主键

忘记性能影响,在EntityFramework4.0中使用此db时是否会造成任何困难?数据库结构不太可能改变,我不想进行“哲学”辩论,但实际影响是什么


据他所说,“复合键使得任何类型的对象/关系映射和持久性都变得更加困难。”但他并没有真正说明原因。这与EntityFramework4.0处理键的方式有关吗?

不,EF4支持复合键

问题是具有代理键和复合键的表。您只能在每个模型上设置一个键;该键可以有多个字段,但从设计器的角度来看,只能有一个字段。不确定是否手动编辑xml或仅代码映射


如果在同一个表上需要复合键和代理键,则可以将字段设置为标识而不是键。ObjectContext或ObjectStateTracker不会使用标识(Id)字段,但它会增加,并且可以很好地查询。

我对EF4和复合键有问题。它不支持将列用作联接表中多个键的组件

有关更多详细信息,请参见我的上一个问题。关键是,当您有一个连接表(描述多个关系),其中两个关系都使用一个公共键时,您将得到如下错误

错误3021:映射中存在问题 片段…:以下各项 表PageView中的列映射到 多个概念侧属性: 页面视图。版本已映射到 (PageView_Association.View.Version, PageView_Association.Page.Version)

唯一的解决办法是复制这一专栏,这完全违背了它在那里的目的

祝你好运