EF:如何在没有数据库参考完整性的情况下建立1:1模型
本文关键字:完整性 情况下 建立 参考 模型 数据库 EF | 更新日期: 2023-09-27 18:13:56
考虑以下表格:
Base, Primary key: Id
Extension, Primary key: Id
"Extension"表中的主键值与"Base"表中的主键值相同。我想在edmx中这样建模:
底可以是0…1(0或1)Extension.
Extension可以有1(1)个Base实例。使用扩展。以访问Base实例。
当我尝试为这个关联指定映射细节时,我得到如下错误:
"错误3021:从xx行开始的映射片段的问题:Each of表Base中的以下列映射到多个概念侧面性质:底面。ID映射到"
"
我如何建模一个1:0..没有数据库关系支持的1个关系?我想要一个关系,这样我就可以用Linq查询我的read-model。
如果我读的是正确的,那么你正在做的事情类似于我在消息系统中不得不解决的问题。
基本上,我创建了一个中间表,其中有2列,都是int型,1列保存一个表的id,另一列保存另一个表的id,然后允许我将两者连接在一起。
,
--------------------------
| Base ID | Extension ID |
--------------------------
我必须手动管理表,但是,这是一点额外的工作,但它做到了。
可能不是您需要的确切模式,但我认为无论您的模式是什么,中间表都是解决您需求的明智方法。
你应该像下面这样修改你的模式类:-
基类public class Base
{
public int BaseID;
public int ExtentionID;
public virtual Extention Extension { get; set; }
}
<<p> 延伸类/strong> public class Extention
{
public int ExtentionID;
public int BaseID;
public Base Base { get; set; }
}