欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Entity Framework 6 +WinForm (第一篇) 采用Model-First方式创建数据库【整理中非最终版】

程序员文章站 2022-03-21 20:40:20
开发环境:VS2017 数据库:SQL 2012 本文是学习EF的第一篇笔记,参考lloydsheng的帖子实践,总结记录。 一、创建项目 先创建一个空白的解决方案,后续关于EF入门笔记基于此项目完成 。 二、安装 使用NuGet下载安装EntityFramework到项目中,如果不会使用NuGet... ......

开发环境:VS2017

数据库:SQL 2012

本文是学习EF的第一篇笔记,参考lloydsheng的帖子实践,总结记录。

一、创建项目

先创建一个空白的解决方案,后续关于EF入门笔记基于此项目完成 。

Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】

二、安装

使用NuGet下载安装EntityFramework到项目中,如果不会使用NuGet可以百度.如果是VS2010 需要先安装NuGet工具

         Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】

本篇使用VS2017可以直接联网安装.

         Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】

安装完成后就可以在引用列表中看到已经部署好的EntityFramework库文件.

        Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】

 

 

三、添加实体对象模型

1.在EFProject 上右键,选择Add,点击New Item..(或者使用快捷键Ctrl+Shift+A)。

Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】

2.点击C#节点下面的“数据”Data子节点。

3.选择ADO.NET Entity Data Model 模板。

4.将名字改为“OrderDB.edmx”,点击“Add”按钮。

Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】

5.VS将会显示Entity Data Model Wizard.你可以选择模型的来源。

6.选择“Empty Model”,点击“Finish”按钮。

Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】

OrderDB.edmx将会添加到你的项目中,同时会显示Entity Framework 设计器。

Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】

四、创建实体关系

下面将会创建user实体以及它与addresses实体的关系,首先创建user实体。

Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】

1.在Entity Framework 设计器右键,Add->Entity。

2.你会看到“Add Entity”对话框,输入实体名。需要注意的是,当你输入实体名时,系统会自动产生实体集合的名称(实体名是一个代表一条纪录的类的名称,实体集后则是一个代表一组纪录的类的名称)。

3.VS默认会产生一个名为Id的主键。如果把你不想产生主键,不选择“Create key property”即可。本例中需要主键,所以保持选择状态。

Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】

这里:StoreGeneratedPattern的设置为Identity,便于自增。

4.点击“OK”,UserAccout实体将会添加到实体图表中。

5.接下来是给实体添加属性。这些属性将会映射到数据表中的字段。我们将会添加FirstName和LastName属性。

6.在UserAccount上右击。选择Add->Scalar property。

7.将属性名改为FirstName。

8.在属性窗口中,将最大长度设为50,数据类型不用改,默认是String.

9.以同样的方式添加另一个名为LastName的属性,最大长度也设为50。

Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】

10.模型浏览窗口中,在“复杂类型”Complex Types 节点上右击。点中Coomplex Types后,在弹出的菜单中选择“Create Complex Type”。

Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】 

11.将复杂类型的名字改为 AuditFields。

12.右击模型浏览窗口的AuditFileds复杂属性,在弹出的菜单中,选择Add->Scalar Property->DateTime。

13.将名字改为“InsertDate”。

14.用同样的方式添加UpdateDate属性到该复杂类型中。

15.接下来你可以添加该复杂类型到UserAccount实体了,右击UserAccount实体,在弹出的菜单中选择Add->Complex Property

16.将名字改为“AuditFileds”,数据类型默认为AudtFields

17.在设计器上右击,弹出的菜单中选择Add->Entity.

18.实体名字改为“Address”,点击“OK”。

19.给Address实体添加Address1,Address2,City,State和Zip属性,所有的属性都为String类型,数据长度分别为:50,50,50,2和5。

20.在属性窗口中,将Address2的Nullable设置为True,其他几个属性都是必填的。

21.同样,给Address实体添加AuditFileds属性。

下面就是建立UserAccount和Address实体之间的关系了。

22.右击UserAccount实体,弹出菜单中选择Add->Association。

Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】

23.你会看到在Add Association窗口默认设置好了UserAcccount和Address一对多的关系,如果你要设置不同类型的关系,在Mutiplicity下拉框中选择就可以了,本例中保持默认就可以。点击“OK”后,你会看到Address表多了一个UserAccountId属性。

五、生成数据库

实体已经创建好了,下面是创建数据库了。在VS操作这些非常方便,它将会产生用来创建表,索引和表关系的DLL语句脚本。

1.在设计器上右击,选择Generate Database from Model.将会出现Generate Database Wizard窗口。

Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】

2.点击“New Connection”按钮。

Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】

3.输入Server name,选择Windows Authentication 或 SQL Server Authentication,这取决于你数据库系统的连接方式。

Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】

4.数据库名输入“OrderSystem”,点击“OK”。

语句就生成OK了

Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】

双击生成的SQL文件,链接数据库,运行

Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】

运行代码

Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】

生成成功后就可以查看数据库表结构了。

Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】


共享链接:https://pan.baidu.com/s/1geA4Mzx 

提取密码: firp

打赏支付宝:

Entity Framework 6 +WinForm  (第一篇) 采用Model-First方式创建数据库【整理中非最终版】