zoukankan      html  css  js  c++  java
  • 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了,花费了很多时间才找到原因,我在上一篇中特别标出来了。上面的例子其实并不恰当,因为后边所有的知识点还要详细讲解,所以就不在这里用太多的时间了。

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

     

  • 相关阅读:
    hdoj 2803 The MAX【简单规律题】
    hdoj 2579 Dating with girls(2)【三重数组标记去重】
    hdoj 1495 非常可乐【bfs隐式图】
    poj 1149 PIGS【最大流经典建图】
    poj 3281 Dining【拆点网络流】
    hdoj 3572 Task Schedule【建立超级源点超级汇点】
    hdoj 1532 Drainage Ditches【最大流模板题】
    poj 1459 Power Network【建立超级源点,超级汇点】
    hdoj 3861 The King’s Problem【强连通缩点建图&&最小路径覆盖】
    hdoj 1012 u Calculate e
  • 原文地址:https://www.cnblogs.com/nianming/p/2142913.html
Copyright © 2011-2022 走看看