关于Entity Framework 数据模型 的开发有三种模式:1.引用数据库方式;2.在VS中新建EF空模型Model 方式;3.Code 方式
Entity Framework 数据模型 引用"引用数据库方式"进行开发创建的使用,具体如下:
开发环境:VS2012
数据库:SQL Server 2008
Entity Framework 版本:6.12
1.新建数据库
在数据库中新建数据库,并创建数据表,以下截图只供参考:
2.新建项目
在VS中新建一个控制台应用程序 Future.LifeWillBetter.DAL.ForDBConsoleApplication
3.新建数据模型
右击 Future.LifeWillBetter.DAL.ForDBConsoleApplication-》 添加—》新建项
点击”新建连接“,这是一个连接数据库的;然后找到刚才新建的数据,并选中如下图
点击确定,完成之后,直接下一步.
直接下一步.
,当然也可以选择视图,存储过程,然后点击完成。
然后会生成一个FutureLifeWillBetterDALForDBModel.edmx数据模型,如图:
4.数据模型扩展使用
在开发中不可能不会新加数据表或者存储过程以及视图,所以要知道怎么扩展!
①我在数据库Future.LifeWillBetter中,新建一张表
CREATE TABLE [dbo].[T_Comments](
[Id] [int] IDENTITY(,) NOT NULL,
[ArticleId] [int] NULL,
[AuthorName] [nvarchar]() NULL,
[Contents] [nvarchar](max) NULL,
[PubDate] [datetime] NULL
) GO
这样的话,我的数据表就新建成功了,下一步就是更新我们的FutureLifeWillBetterDALForDBModel.edmx数据模型
双击打开FutureLifeWillBetterDALForDBModel.edmx 在空白处右击,从”数据库更新模型“
点击确定,会出现一个刚开始选择数据表、视图、存储过程的窗体,继续...
我全部勾选,然后点击完成,点击完成之后记得保存数据模型文件即:FutureLifeWillBetterDALForDBModel.edmx;这样我们就能在FutureLifeWillBetterDALForDBModel.edmx这个数据模型的FutureLifeWillBetterDALForDBModel.tt看到一个T_Comments实体类;
这是我们新增数据表,当然如果我们删除数据表也可以用同样的方式,将数据模型中的实体删除。
5.数据模型,文件介绍
①App.config :配置文件,此文件已包含实体数据的数据库链接等基本信息
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<connectionStrings>
<add name="Entities" connectionString="metadata=res://*/FutureLifeWillBetterDALForDBModel.csdl|res://*/FutureLifeWillBetterDALForDBModel.ssdl|res://*/FutureLifeWillBetterDALForDBModel.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=Future.LifeWillBetter;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
②FutureLifeWillBetterDALForDBModel.Context.cs:实体数据模型的上下文(FutureLifeWillBetterDALForDBModel.Context.tt下)
③FutureLifeWillBetterDALForDBModel.tt:这个下面包含了具体的实体(也就是以数据库表为单位的类)
再次看下目录结构,如图:
完!