1

问题的上下文是ASP.NET MVC2/EF4。我在数据库中有许多查询表,这些查询表以前是以编程方式引用的,每个查询表都来自许多其他表......因此,可能会有国家/地区表使用country-id shortcode,desc和半打表countryid in them。重复5或6个其他查找表。目前没有FK - 这个查询是在旧数据库前端的UI中编程的。实体框架中查找表的多重关系

另一件值得注意的事情是,一个人可能有一个国家。该人可能与可能也有国籍的工作有关。这个工作有一个雇主与一个国家(并且),即我们最终得到一个相当纠结的图表。

问题:我希望能够在没有连接的情况下在EF/LINQ查询中访问国家信息。我应该首先将多个FK添加到数据库吗?我只是将这些关系连接到设计师身上?什么(如果有的话)我需要注意什么时候有多个表与EF中的同一张表相关?这会工作吗?

只是基本上寻找这样做的最佳做法。

回答

1

首先创建FK,从EF Designer中的数据库更新模型。它将自动从FK关系中创建您的实体之间的关联。

它会工作得很好。

有一点需要注意的是,EF会将您的图形连接起来,这可能会导致问题。例如,您创建了一些临时Person对象,并将其设置为现有的Country实体。如果该国家实体也是当前上下文中已更改的其他实体的一部分,那么当您保存更改时,您的临时Person对象也可能被添加到数据库中! EF的图表建设有时可能会有点过分。

+0

谢谢 - 我会牢记这一点! – Andiih 2010-09-09 08:27:24