创建实体数据模型:

本文将带你创建实体数据模型(EDM)SchoolDB数据库和理解基础建设模块。

实体数据模型(EDM)是用于描述实体之间关系的一种模型,以下将使用Visual Studio 2012 和 EF6创建SchoolDB数据库。

1.打开Visual Studio 2012并创建一个Console项目

Entity Framework 教程——创建实体数据模型

项目->属性,确保target framework 为 .NET Framework 4.5。

Entity Framework 教程——创建实体数据模型

2.增加EDM文件,右键项目 -> 添加 选中ADO.NET Entity Data 并命名为'School'

Entity Framework 教程——创建实体数据模型

3.随后会出现EDM向导,有四个选项:EF Designer from database (数据库优先功能),Empty EF Designer model(模型优先功能),Empty Code First model 和 Code First from database(代码优先功能)。在本基础教程中暂时只关注数据库优先功能,所以选择EF Designer from database 选项,并且点击下一步。

Entity Framework 教程——创建实体数据模型

4.你可以选择已经存在的数据库连接或者选择新建一个连接。我们选择已经存在的数据库连接SchoolDB数据库。这会将对应的连接字符串加入app.config文件,点击下一步。

Entity Framework 教程——创建实体数据模型

5.这一步我们需要选择EF的版本,这里我们选择EF6.0

Entity Framework 教程——创建实体数据模型

注意:如果你已经安装了EF的最新环境,这一步将不会出现。

6.这一步将显示SchoolDB数据库的所有表,视图和存储过程,选择你想要建模的表,视图,存储过程。并且如果需要的话,可以修改命名空间。

Entity Framework 教程——创建实体数据模型

注意:

Pluralize or singularize generated object names 选项 表示所创建的对象属性会注意单复数形式。例如,如果SchoolDB数据库中有一个表名为Students的表,它创建出来的实体集合(如DBSet<T>)中的泛型参数(T)会以单数形式创建。又例如表间关系存在一对多或多对多关系的,如Student与Course之间的多对多关系,在Student实体对象中将存在一个复数形式的属性名“Courses”的集合对象。

第二个选项,Include foreign key columns in the model,将外键包含在模型中。例如Standard表和Student表存在一对多的关系,所以代表多个Student关联一个Standard。在实体模型中Student将包含StandardId 这个标量属性和Standard 这个导航属性,如果没有选中该项,则仅包含Standard 这个导航属性,不包含StandardId 这个标量属性。

第三个选项,Import selected stored procedures and functions into entity model,自动创建存储过程和函数,这个选项通常是必须要的。

7.当点击“Finish”键后,一个名为“School.edmx”的文件将出现在你的项目中。双击该文件将打开EDM设计器,它会显示所有你刚刚选择的表以及他们之间的关系。

Entity Framework 教程——创建实体数据模型

EDM也会在config文件中为你添加好连接字符串

 1 <?xml version="1.0"?>
 2 <configuration>
 3   <configSections>
 4     <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
 5     <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
 6   </configSections>
 7   <startup>
 8     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
 9   </startup>
10   <entityFramework>
11     <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/>
12     <providers>
13       <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
14     </providers>
15   </entityFramework>
16   <connectionStrings>
17     <add name="SchoolDBEntities" connectionString="metadata=res://*/SchoolDB.csdl|res://*/SchoolDB.ssdl|res://*/SchoolDB.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\sqlexpress;initial catalog=SchoolDB;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient"/>
18   </connectionStrings>
19 </configuration>
View Code

相关文章:

  • 2022-12-23
  • 2021-06-13
  • 2022-12-23
  • 2022-02-22
  • 2021-07-05
  • 2021-08-29
  • 2021-12-24
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-27
  • 2021-08-09
  • 2022-02-28
  • 2022-12-23
相关资源
相似解决方案