与Entity Framework中的查找表有多种关系

时间:2010-09-09 07:55:41

标签: entity-framework asp.net-mvc-2 entity-framework-4 foreign-key-relationship

问题的上下文是ASP.NET MVC2 / EF4。我在数据库中有一些以前以编程方式引用的查找表,每个查表都来自其他一些表...所以可能有一个国家/地区表,其中包含country-id短代码,desc和六个具有countryid在他们中间。重复5或6个其他查找表。目前没有FK - 查找在旧数据库前端的UI中是编程的。

另一件要警惕的事情是一个人可能有一个乡下人。该人可能与也可能具有countryid的工作有关。这份工作的雇主有一个countryid(以及其他人) - 即我们最终会得到一个非常纠结的图表。

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

基本上是在寻找最佳实践。

1 个答案:

答案 0 :(得分:1)

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

它会正常工作。

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