2010-05-23 62 views
11

我试图将我的模型优先项目转换为代码优先项目,因为我可以看到使用图形设计器处理模型将变得困难。不幸的是,在我所有的搜索引擎中,我找不到一个很好的参考文献来描述如何进行代码优先开发。大多数资源已过时(所以过时了,它们将其称为仅用于代码),而我能找到的其他参考似乎假定您了解上下文构建和代码优先的基础知识(例如,它们将代码引用到构建上下文,但不描述代码实际应该在哪里以及它如何实际运行)。有没有优秀的资源来开发实体框架4代码优先?

是否有任何像样的资源代码优先发展,介绍如何将你的POCO实体映射到数据库模式?


编辑:好吧,我现在就放弃代码。我在答案中链接到的入门文档似乎存在一些缺陷(例如,关于上下文构建和EntityConnection dbConnection类型的一些细节,以及一些关系映射代码没有按照它们编写的方式进行编译)。我花了2天的时间试图找到任何方法来实现这一目标,并且我接近了(我认为),但最终因谷歌完全无益而失败。到目前为止,我认为继续进行Model的第一次开发会更有效率,并且希望在edmx变得笨拙的时候代码优先不再处于CTP状态,并且更好(如在一些实际存在的)文档。

我正在将POCO的答案标记为正确的答案,因为尽管它需要一个数据库和一个数据库,但它实际上并不是代码优先,如果您希望在代码中拥有实体,它可能是最好的选择在EDMX生成之前它会生成EDMX。

回答

2

好吧,我已经接近了一点。

好像代码首先不是在VS2010的最终发布的版本包括在内。因此,为了使用它,你必须下载实体框架CTP 3 http://www.microsoft.com/downloads/details.aspx?FamilyID=af18e652-9ea7-478b-8b41-8424b94e3f58&displayLang=en。这似乎是EF的最新CTP。

安装,你必须添加到Microsoft.Data.Entity.CTP的引用之后。

最后,CTP下载页面把我带到http://blogs.msdn.com/adonet/pages/feature-ctp-walkthrough-code-only-for-the-entity-framework.aspx。尽管页面上的日期是2009年6月,但它声称它已经更新,并且CTP(2月发布)指向它,因此它可能仍然是准确的。我明天会玩,看看它究竟有多准确。

+0

这个成功吗? – 2010-06-10 03:19:31

+0

Nope :(。入门示例不适用于我,我无法弄清楚,因此我决定先回到模型,直到有最新的工作文档。 – KallDrexx 2010-06-10 16:45:28

1

this也许你在之后。

切实你只需要使用你的EF模型来定义映射到数据库,而不是生成类,并创建上下文通过EF模型映射到你的对象链接到数据库。

2
+0

真棒感谢您的链接,我仍然会坚持,因为他们表示仍然可能会有API更改,但这是很好的准备! – KallDrexx 2010-07-16 12:29:28

0

添加一个新的答案作为一个供参考。

随着最新的Code-first CTP和Scott Gu的教程(找到了here),我的模型优先系统在没有时间的情况下转换为代码优先。

我不知道API会改变多少东西,但现在至少有很好的信息来开始使用代码。

0

ASP.NET MVC站点here上的演示首先提供了一些优秀的代码示例。 5.模型(数据)首先使用实体​​框架代码调用演示本身。