网上是否有任何像样的文章详细解释了约定在EF 4.1中的工作原理? 有一篇文章链接自Scott Gu的博客,但它的日期是2010年,我认为当时在CTP 4中。 不确定从那时起,公约是否进行了修改。 但我不明白它是如何工作的。 例如,如果我有此代码,它如何知道使用表 SkillType(它在寻找什么?
public DbSet<SkillType> SkillTypes { get; set; }
这只是我的困惑之一,然后是外键、主键等。 我需要熟悉这些惯例,所以我可以阅读的任何愚蠢的文章请告诉我。 我做了谷歌,无法得到任何坚实和具体的东西。
没有真正的演练。您可以在 MSDN 中找到所有约定的基本说明。我在 MSDN 论坛上的回答发布了指向所有约定的链接。
自CTP5以来,公约确实发生了很大的变化。首先,您无法再添加自定义约定 - 此功能已从最终版本中删除。如果您像示例中一样定义DbSet
则约定定义表不是工作。有一些机制(可能使用反射)可以在上下文中找到所有定义的集合并开始映射生成。
MSDN 上提供了对代码优先约定的一个非常好和简单的解释,标题很好:代码优先约定。
我也喜欢并推荐 ADO.Net 团队博客:)
http://blogs.msdn.com/b/adonet/