Entity Framework 4 in Action读书笔记——第二章:开始Entity Framework之旅(3)

这篇我们解决两个问题,一是组织产生的代码,而是完成我们的程序,实现基本的功能。

组织产生的代码

默认情况下,设计器产生一个文件,把所有代码都放到这一个文件中。这个文件以设计器文件的名字命名,扩展名为.vb 或 .cs,根据语言的不同。例如,model.edmx设计器文件创建了一个model.edmx.vb或者model.edmx.cs。如果查看一下代码,就会发现很乱。所有的类都放在一个文件中,还有很多属性和方法。更糟糕的是,类都继承自EntityObject,类之间的关系使用EntityCollection<T>和EntityReference<T>表示。下面就介绍一种有效组织代码的方法:the plain old CLR object(POCO)法。

1.在VS中,选择Tools > Extension Manager。

2.在Extension Manager窗口中,选择左边Online Gallery选项卡,在右上角的搜索框中输入POCO,回车。如下图:

22

3.因为我已经安装了,所以右上角有个绿色的标志,如果没有安装直接点击Download安装即可。

安装完成后,按照下面的步骤就可以优化代码了。

1.在设计器中右击,选择Add Code Generation Item,选择ADO.NET POCO Entity Generator项,在Name文本框中输入Entities.tt,点击OK,两个文件就添加到了项目中:Entities.tt和Entities.Context.tt。

2.选择这两个文件,右击选择Run Custom Tool,就完成了代码的优化。

3.在设计器中右击,选择Properties,将Code Generation Strategy设置为None。此时在Model.Designer.cs中只有下面一些提示信息:

24

提示信息中提到,如果想使用默认的代码产生方式,就把Code Generation Strategy设置为Default。

实现程序的基本功

1.将OrderIT.Model中的App.Config文件的 <add name="OrderITEntities" connectionString="'"/>节点内容复制,在OrderIT.Web的Web.Config中的<connectionStrings> </connectionStrings>节点中粘贴。

2.添加Controller。在弹出的Add Controller对话框中按下图填写。

30

3.点击Add,我们的程序就可以跑起来了。

3132

写在最后的话

在做这个例子的时候,由于之前设计模型出了一点小问题,我重新设计的,可是忘了设置Company实体的Abstract属性为True了,花费了很多时间才找到原因,我在上一篇中特别标出来了。上面的例子其实并不恰当,因为后边所有的知识点还要详细讲解,所以就不在这里用太多的时间了。

有需要源码的,可以点击下载

 

原文地址:https://www.cnblogs.com/nianming/p/2142913.html