EF6 在原有数据库中使用 CodeFirst 总复习(搭建基础环境)

Posted WebEnh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EF6 在原有数据库中使用 CodeFirst 总复习(搭建基础环境)相关的知识,希望对你有一定的参考价值。

本来以为已经会了,可动手时发现许多问题还是模糊不清,正所谓眼高手低。只能重新查资料,再复习一遍。

vs.net2013 ef6 mvc5 sqlserver2008

 

一、建立数据库  Blogging

二、创建表,插入测试数据


CREATE TABLE [dbo].[Blogs] 

    [BlogId] INT IDENTITY (1, 1) NOT NULL, 
    [Name] NVARCHAR (200) NULL, 
    [Url] NVARCHAR (200) NULL, 
    CONSTRAINT [PK_dbo.Blogs] PRIMARY KEY CLUSTERED ([BlogId] ASC) 
); 
CREATE TABLE [dbo].[Posts] 

    [PostId] INT IDENTITY (1, 1) NOT NULL, 
    [Title] NVARCHAR (200) NULL, [Content] NTEXT NULL, 
    [BlogId] INT NOT NULL, 
    CONSTRAINT [PK_dbo.Posts] PRIMARY KEY CLUSTERED ([PostId] ASC), 
    CONSTRAINT [FK_dbo.Posts_dbo.Blogs_BlogId] FOREIGN KEY ([BlogId]) REFERENCES [dbo].[Blogs] ([BlogId]) ON DELETE CASCADE ); 
INSERT INTO [dbo].[Blogs] ([Name],[Url]) 
    VALUES (\'The Visual Studio Blog\', \'http://blogs.msdn.com/visualstudio/\'); 
INSERT INTO [dbo].[Blogs] ([Name],[Url]) 
    VALUES (\'.NET Framework Blog\', \'http://blogs.msdn.com/dotnet/\');

数据库中表如下:

image

image

image

image

image

上面为原有数据库示例,将在当前状态使用  CodeFirst

主外键创建时使用了级联删除,以后要改成软删除,所以,也不会用到。

三、创建解决方案及项目 

image

四、安装新版EF

image

五、添加数据实体对象

image

image

image

image

image

image

image

六、生成的上下文及实体对象

image

web.config中生成的连接字符串 
      image

image

image

image

七、为Blog实体对象添加特性

image

七、测试生成的实体对象

image

image

image

image

image

image

建立项目时,如果身份验证方式选择无,系统不导入验证js等文件,需要手动将其复制进项目。

至此,基于现有数据库的CodeFirst基础部分已经完成,并测试通过。

 

本文参考http://msdn.microsoft.com/zh-cn/data/jj200620

本文及原文版权全部归上述作者所有    微笑

 

 
 

以上是关于EF6 在原有数据库中使用 CodeFirst 总复习(搭建基础环境)的主要内容,如果未能解决你的问题,请参考以下文章

EF6 在原有数据库中使用 CodeFirst 总复习(生成发帖页面)

EF6 在原有数据库中使用 CodeFirst 总复习(搭建基础环境)

EF6 CodeFirst使用MySql

在 EF6 Code First 中支持表值函数吗?

EF6 Codefirst+MySql 数据库迁移

EF6 codefirst 中的唯一多列