可以存储来自两个不同表的外键的字段的实体框架导航属性

本文关键字:字段 实体 属性 导航 框架 存储 两个 | 更新日期: 2023-09-27 18:01:06

我需要一个名为Loan的表。

此表的列为:Id,Type,BorrowId,Description

这里的技巧是,"类型"字段将确定借款人是雇员还是客户,然后借款人Id将是雇员表中的Id或客户表中的Id。

就实体框架而言,这种设计是否糟糕?我之所以这么问,是因为我似乎无法在Loan表上创建Borrower Navigation属性,因为Id可以来自两个表。

有人能解决这个问题吗?比如我如何更改数据模型以使用导航属性。

可以存储来自两个不同表的外键的字段的实体框架导航属性

问题的简单答案是"是的,这是一个糟糕的设计"。引用完整性应该严格执行,当你通过交替引用来删除这种能力时,你会创建一个错误窗口。如果需要两个选项,请创建两列,并在每个列上为它们引用的表创建外键。那么您的应用程序将是有效的万无一失。:D