具有非关键字段的实体框架关联

Cod*_*y C 6 entity-framework

是否可以在实体框架中创建关联b/t 2个非关键字段?

示例:在遗留应用程序中获取2个表(即键/结构不能更改)

Order (
    OrderId : int : PK
    OrderNo : varchar
)

OrderDetails (
    DetailRecordId : int : PK
    OrderNo : varchar
)
Run Code Online (Sandbox Code Playgroud)

在实体框架,我想创建关联B/T OrderOrderDetailsOrderNo字段,这是不在任表或数据库中的一个FK关系的主键.

在我看来,这不仅应该是容易做到的,而且是使用像EF这样的东西的一个原因.但是,似乎只允许我使用实体键创建关联.

Ale*_*mes 6

实体框架允许您声明列是键,并且FK约束存在于数据库中实际不存在的位置.

这是因为SSDL(EDMX的StorageModel部分)可以在必要时由您操纵并对数据库撒谎.

然后,EF将与数据库交互,就像密钥和外键确实存在一样.

这应该有效,但所有关于参照完整性的正常警告都适用.

请参阅我的实体框架提示

希望这可以帮助.