实体框架:导航属性

时间:2015-11-10 14:39:24

标签: entity-framework navigation-properties

我正在开发一个我正在使用EF 6的应用程序。数据库很久以前就已经开发出来了,我没有机会改变任何东西。

有一个Payment表,其中OriginatorId列为外键。此外键可以来自Claim表或Invoice表。 Payment表中有另一列名为OriginatorType。如果这里的值是" INV"然后外键引用Invoice表。如果值为" CLA"然后外国人引用Claim表。

我想知道如何处理EF中的这种情况?我想在查询付款时填写Invoice或Claim对象。

查询输出只是基于context.Payment(p => p.PaymentPostedDate >= someDate)等过滤条件的付款列表。获得此列表后,我需要获取Claim和Invoice的详细信息以生成报告。

数据库不会将OriginatorId映射为外键。因此,POCO生成器不会创建任何引用实体。我想使用流畅的API来创建这个设置,但是这应该有逻辑来解析基于OrigintorType的所需实体。我知道我可以用JOIN写多个查询或一个合适的lambda来查找结果;但是,我喜欢在模型级别处理JOIN逻辑。这将有助于我和其他开发人员避免编写复杂的JOIN或许多查询。这也可以使付款查询无缝。

我真的很感激任何帮助。

0 个答案:

没有答案