2013-12-21 122 views
0

傍晚你可爱的SO用户,我有一个问题给大家。非简单连接的导航属性

我最近开始研究一个数据量相当大的现有项目,我的任务是让我们的.NET开发人员更容易一点。普遍的一致意见是我们想要使用实体框架(或类似的),但是我在处理如何映射一些我们使用的更有趣的JOIN子句时遇到了问题。我相信我需要导航属性来将实体连接在一起,但我不知道如何去制作我自己的。目前我所拥有的是从数据库创建模型时生成的。

我给你举个例子。我们有一张表格,其中包含大量可能与客户,供应商,员工或最终用户相关的文本数据。通过使用OwnerID字段和OwnerType字段(其中包含表示类型的单个字符)将数据链接回这些数据。这可能并不理想,但我无法改变数据库的设计,我想知道是否可以让ORM处理将所有内容链接在一起的令人讨厌的工作,这样我们的开发人员就可以加载他们想要的客户记录然后找到链接的文本数据。

这可能吗?如果是这样,任何人都可以向我指出一些资源的方向来帮助我解决这个问题吗?我有一个很好的旧搜索,但我真的不知道如何说出我的查询。

回答

0

听起来好像OwnerId不是外键,这意味着您无法正确使用navigationproperties。

我没有看到任何黑客,因为你指出自己这不是一个很好的解决方案。解决这个问题的唯一方法是重新设计你的数据库或使用包装这个的方法。

+0

不,这不是一个可悲的外国关键。该死的,我担心会是这样。那么我猜ORM是不适合我们的。我无法重新设计数据库,因为其他应用程序依赖于其结构。 – djstamp