使用Entity Framework 4进行代码优先开发 联系客服

发布时间 : 星期三 文章使用Entity Framework 4进行代码优先开发更新完毕开始阅读15dc352bcfc789eb172dc8db

将来我们会发布一个VS 2010的升级包,你将能在“服务器资源管理器”上打开、编辑SQL CE 4数据库(就跟你现在编辑SQL 数据库一样)。这样,你就可以很容易地看到(或许做点调整)数据库结构和数据内容了。到了那时,你也可以在WebMatrix中使用数据库工具去查看SQL CE 4数据库文件的内容。

我们还没有给NerdDinners数据类指定任何自定义的数据持久化映射规则——所以EF 代码优先类库将会根据默认的命名规范作为映射规则自动生成数据库。但是如果我们指定了任何自定义的映射规的话,EF 代码优先类库将会遵守这些规则,生成与它们匹配的数据库。

让我们回顾一下,这里是我们先前定义的两个POCO数据模型类和NerdDinners Context类:

下面是我们运行应用程序后,根据上述模型类自动创建的数据库中的两个表。

“Dinners”表的定义如下图所示。其中,列名和它的数据类型和Dinner类中定义的属性是完全对应的。DinnerID列被自动的设置成了该表的主键和唯一标识列。

“RSVPs”表的定义如下图所示。该表的列名和它的数据类型和我们在RSVP类中定义的属性也是一致的。其中,RsvpID列被设置成了该表的主键和唯一标识列。

在Dinners表和RSVPs表之间,一个一对多的主键/外键关系也同时被创建起来了。EF 代码优先类库自动建立了这种关联,因为Dinner类中有一个类型为ICollection的RSVPs属性,同时,RSVP类中也有一个Dinner的属性。

为数据库填充餐会信息

现在,让我们来新建一些餐会信息并将它们写入数据库。我们可以通过点击我们首页中的“Create New Dinner”链接来跳转到“新建”页面。

当我们点击“Create”按钮时,新餐会将被保存到数据库。我们可以重复数次来新建多个不同的餐会。每条我们新建的餐会都将会保存在数据库中,并会被显示在首页的“Upcoming Dinners”(即将举办的餐会)列表中。