您的当前位置:首页正文

EntityFramework学习一创建实体数据模型CreateEntityDataModel

2024-02-13 来源:易榕旅网
EntityFramework学习⼀创建实体数据模型CreateEntityDataModel

1.⽤vs2012创建控制台程序

2.设置项⽬的.net 版本

3.创建Ado.net实体数据模型

3.打开实体数据模型向导Entity Framework有四种模型选择 来⾃数据库的EF设计器(Database First)、空EF设计器(Model First)、空CodeFirst模型(Code First)、来⾃数据库的CodeFirst模型(Code First)

4. 选择已存在的数据库连接

5.下⼀步显⽰数据库中所有的表、视图和存储过程

备注:

Pluralize or singularize generated object names:如果数据库中表的名称是复数,则变为单数形式。如果SchoolDB 数据库中有Students表,则实体集将是单数的Student,实体的关系如果是⼀对多、多对多的关系,则关系将是复数形式,例如Student和Course表⽰多对多的关系,Student实体集中将有复数的属性名Courses表⽰Course的集合Include foreign key columns in the model:包含外键属性明确的表⽰外键。例如,Student与Standard表⽰⼀对多的关系,所以⼀个Student和⼀个Standard关联,为了表⽰这⼀关系,Student实体中包含StandardId导航属性,如果不选该项,Student实体仅包含Standard属性,⽽不包含StandardId属性6.Import selected stored procedures and functions into entity model:⾃动创建函数引⼊存储过程和函数7.点击Finish,项⽬将增加School.edmx⽂件,双击School.edmx⽂件,将展现表对应的实体以及关系

8.EDM在配置⽂件中添加链接字符串

实体-表的映射

EDM中的每⼀个实体都与数据库中的表对应

Context上下⽂和实体类型

在EDM中,每个实体数据模型都会⾃动⽣成⼀个上下⽂类、与数据库中表对应的实体类,展开School.edmx,有两个重要⽂件{EDM Name}.Context.tt and {EDM Name}.tt:

School.Context.tt:使⽤T4模板⽂件⽣成上下⽂类,该类继承DbContext

School.tt T4模板为数据看中的表⽣成实体类

public partial class Student

{

public Student() {

this.Courses = new HashSet(); }

public int StudentID { get; set; }

public string StudentName { get; set; }

public Nullable StandardId { get; set; } public byte[] RowVersion { get; set; }

public virtual Standard Standard { get; set; }

public virtual StudentAddress StudentAddress { get; set; } public virtual ICollection Courses { get; set; }}

EDM Designer: 描绘概念模型,它包含实体和关系,它看起来很像数据库表的结构,但是你可以添加、合并和删除列,你甚⾄可以添加对象到模型上,可以有与数据库表不同的列,然⽽,在模型上的变化都会影响到存储模型。你可以通过XML⽂件查看EDM

因篇幅问题不能全部显示,请点此查看更多更全内容