您是否主要使用此选项(默认选中)或取消选中它?
我发现当我在我的实体上同时拥有FK列和导航属性时,会导致映射工具出现问题 - 它们可能会绑定一个或另一个但几乎不会同时绑定。
如果我们严格遵循概念模型的指导原则,那么我认为这些专栏应该永远不会出现在属性上吗?
希望你们中的很多人回复,这样我们就可以更好地代表开发者更频繁地选择什么。
答案 0 :(得分:13)
如果我们遵循指导原则 我认为严格的概念模型 那些列永远不应该成功 属性,应该吗?
是的 - 这就是EF团队在.NET 3.5 SP1的第一个版本中所做的 - 并且得到了大量非常负面的反馈。
是的,“纯粹地”说 - 您不应该直接使用外键列 - 您应该使用正确的方式来处理引用的实体。但实际上,在许多情况下 - 您不希望必须处理整个引用的实体,实际上 - 只需设置外键列即可(例如,在导入数据或许多其他情况时)。
所以,虽然是 - 我同意 - 这有点像黑客,我确实认为它是一个很大的优点,您可以选择在实体中使用外键列 - 毕竟,在数据库级别,这也是你要处理的事情。
所以在我看来,以及我从同事那里听到的所有建议,他们也使用EF进行认真的工作,以及所有的博主和EF大师(如Julie Lerman,他写了 一书EF) - 打开该选项,您将获得两全其美!