一,添加ADO.NET实体数据模型(即edmx)
1,添加edmx
新建一个类库项目,项目中添加新项,选择数据/ADO.NET实体数据模型,如下图。
![](file:///D:/YNote/Data/mcgrady_525@163.com/62b56f8a993b4fd2a134728854f2b515/clipboard.png)
![](file:///D:/YNote/Data/mcgrady_525@163.com/62b56f8a993b4fd2a134728854f2b515/clipboard.png)
![](file:///D:/YNote/Data/mcgrady_525@163.com/62b56f8a993b4fd2a134728854f2b515/clipboard.png)
![](https://images0.cnblogs.com/blog2015/311549/201507/071443367218229.png)
点击添加,实体数据模型向导窗口,选择空EF设计器模型,然后点击完成,即创建edmx文件成功。
![](file:///D:/YNote/Data/mcgrady_525@163.com/66bbc31dfddb443aa3b1afb07ff5aad1/clipboard.png)
![](https://images0.cnblogs.com/blog2015/311549/201507/071443590807397.png)
2,添加实体模型
接下来,往edmx设计器中添加实体模型。在设计器中右键新增/实体,或者从工具箱中拖一个实体过来。
二,添加T4模板(包括DbContext和Entity的)
二,添加T4模板(包括DbContext和Entity的)
1,添加T4模板
项目中添加新项,选择数据/EF 6.x DbContext生成器,如下图。
![](https://images0.cnblogs.com/blog2015/311549/201507/071444210335624.png)
![](file:///D:/YNote/Data/mcgrady_525@163.com/44e8c5c32ac2432abaac2c9fe28d86e9/clipboard.png)
这时,项目中会增加两个文件,xxx.Context.tt和xx.tt,一个是DbContext上下文模板,另一个是实体的模板。
2,修改T4
新增加的T4模板并不能马上工作,必须做相关设置才可以,这一点非常重要。
首先,修改$edmxInputFile$为具体的edmx文件名,包括HwaDB.Context.tt和HwaDB.tt,如下图。
![](https://images0.cnblogs.com/blog2015/311549/201507/071444406898453.png)
![](file:///D:/YNote/Data/mcgrady_525@163.com/97c8df86dc41477d83b2e8c55b41796d/clipboard.png)
其次,要修改DbContext构造函数的内容,修改前默认如下图。
![](https://images0.cnblogs.com/blog2015/311549/201507/071444573464098.png)
![](file:///D:/YNote/Data/mcgrady_525@163.com/0f63c79190f34ad8bbfed4c2a3b090e9/clipboard.png)
修改后的样子如下图。
![](https://images0.cnblogs.com/blog2015/311549/201507/071445058618162.png)
![](file:///D:/YNote/Data/mcgrady_525@163.com/fdb80b738db4481e87714def6eb5f3f2/clipboard.png)
要做两点改动,一是启用延迟加载改为false,二是修改HwaDB.Context.tt中HwaDBContainer的构造函数。
![](https://images0.cnblogs.com/blog2015/311549/201507/071445267839803.png)
![](file:///D:/YNote/Data/mcgrady_525@163.com/7d6a98c450584ab485cfdefcc429b6f1/clipboard.png)
三,生成建表脚本
1,创建数据库连接
在edmx工作区右键菜单,根据模型生成数据库...,打开生成数据向导窗口,如下图。
![](file:///D:/YNote/Data/mcgrady_525@163.com/c3b91c5f0ac84f95bdc28a646e696ce6/clipboard.png)
![](file:///D:/YNote/Data/mcgrady_525@163.com/054b73f02b4f4a0687ca5700980d5550/clipboard.png)
![](https://images0.cnblogs.com/blog2015/311549/201507/071445369715026.png)
![](https://images0.cnblogs.com/blog2015/311549/201507/071445545496755.png)
选择新建连接,打开连接属性窗口,新建一个连接。
![](https://images0.cnblogs.com/blog2015/311549/201507/071446213307406.png)
![](file:///D:/YNote/Data/mcgrady_525@163.com/e38bcc9a49ef49f0b24b859cb37592ce/clipboard.png)
点击确定,回到生成数据库向导窗口,点击下一步,来到完成页,点击完成,生成sql脚本成功。
![](https://images0.cnblogs.com/blog2015/311549/201507/071446336116554.png)
![](file:///D:/YNote/Data/mcgrady_525@163.com/fa282991114b43a9b5aa3edf6b5cb9ce/clipboard.png)
此时,项目中会自动生成一个sql脚本,如下图。
![](https://images0.cnblogs.com/blog2015/311549/201507/071446442527703.png)
![](file:///D:/YNote/Data/mcgrady_525@163.com/c549a1aef8804c0eb6c76ac7f938bd46/clipboard.png)
2,生成建表脚本及创建数据表
打开sql脚本,点击运行,或者在SQL SERVER中打开执行,创建数据表,前提是创建好数据库。