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/');
数据库中表如下:





上面为原有数据库示例,将在当前状态使用 CodeFirst
主外键创建时使用了级联删除,以后要改成软删除,所以,也不会用到。
三、创建解决方案及项目

四、安装新版EF

五、添加数据实体对象







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

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




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

七、测试生成的实体对象






建立项目时,如果身份验证方式选择无,系统不导入验证js等文件,需要手动将其复制进项目。
至此,基于现有数据库的CodeFirst基础部分已经完成,并测试通过。
本文参考http://msdn.microsoft.com/zh-cn/data/jj200620
本文及原文版权全部归上述作者所有 
EF6 在原有数据库中使用 CodeFirst 总复习(一、搭建基础环境)的更多相关文章
- EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)
本来原来学的时候,挺顺利的,没想到再次使用,还是遇到很多问题,导致更新失败,所以,只能重建迁移,免得看着乱乱的. 一.删除迁移,将数据恢复到(一)结束状态 1.删除文件夹 2.删除表 3.删除列 4. ...
- EF6 在原有数据库中使用 CodeFirst 总复习(五、生成发帖页面)
有点与在原有数据库中使用 CodeFirst 远了,不过是总复习吗,总得全面点. 一.在用户表(Users)中插入两个用户 二.生成发帖界面 MVC生成的界面很多,也没使用Ajax,实际开发中很少会使 ...
- EF6 在原有数据库中使用 CodeFirst 总复习(四、新建实体对象)
在原有数据库中使用 CodeFirst ,除了第一次添加实体后要立即执行一次 Enable-Migrations add-migration Initial -IgnoreChanges updat ...
- EF6 在原有数据库中使用 CodeFirst 总复习(二、新的需求,简单修改原有表)
一.为当前实体模型启用数据迁移 基础搭建好了,也就是原有的数据库有了,原有数据库的实体对象也有了,但生成的上下文中并没有标记当前数据库是否已经存在,当前实体是否修改过(以前版本好像有标记的),所以,要 ...
- 在原有数据库中使用 CodeFirst
一.为当前实体模型启用数据迁移 1.Enable-Migrations -ContextTypeName EME.DBHelper.StoreContext(数据访问上下文) 2. Add-Migra ...
- [Intel Edison开发板] 06、Edison开发在linux中烧写、配置、搭建开发环境
1.前言 linux上烧写.配置.搭建Edison环境,千万不要用默认的setup tool for ubuntu!!! (即使,你用的就是ubuntu) 因为,其默认的工具会从一个坏链接下载配置文件 ...
- Oracle数据库中有关记录个数的查询
一.查询表中全部的记录个数 可用两种方法,一种是在oracle的系统表中统计,另一种需要写存储过程统计,方法分别如下. 1.系统表中统计: SELECT sum(num_rows) FROM user ...
- 在ASP.NET MVC5 及 Visual Studio 2013 中为Identity账户系统配置数据库链接及Code-First数据库迁移
在ASP.NET MVC5 及 Visual Studio 2013 中为Identity账户系统配置数据库链接及Code-First数据库迁移 最近发布的ASP.NET MVC 5 及Visual ...
- 14.翻译系列:从已经存在的数据库中生成上下文类和实体类【EF 6 Code-First系列】
原文链接:https://www.entityframeworktutorial.net/code-first/code-first-from-existing-database.aspx EF 6 ...
随机推荐
- ES6生成器基础
ES6引进的最令人兴奋的特性就是一种新的函数生成方式,称为生成器(generator).名称有点奇怪,但是第一眼看上去行为更加奇怪.文章主要介绍生成器如何工作,然后让你明白为什么他们对于未来的JS会有 ...
- 【转载】FPGA功耗的那些事儿
在项目设计初期,基于硬件电源模块的设计考虑,对FPGA设计中的功耗估计是必不可少的. 笔者经历过一个项目,整个系统的功耗达到了100w,而单片FPGA的功耗估计得到为20w左右, 有点过高了,功耗过高 ...
- CSS3 Filter
Filters主要是运用在图片上,以实现一些特效.(尽管他们也能运用于video上),不过我们在些只来讨论图片上的运用. 语法: elm { filter: none | <filter-fun ...
- javascript之toString()和valueOf()函数
1.我们为什么要了解这两种方法 众所周知,toString()函数和valueOf函数,这两个函数是Object类的对象生来就拥有的,而且他们还可以允许我们重写,那么,这两个函数到底有什么用呢? 从名 ...
- C puzzles详解【6-8题】
第六题 #include<stdio.h> int main() { ; switch(a) { ': printf("ONE\n"); break; ': print ...
- 查看Linux系统版本信息
一.查看Linux内核版本命令(两种方法): 1.cat /proc/version [root@S-CentOS home]# cat /proc/versionLinux version 2.6. ...
- ASP测试代码: <% response.write("helloworld,vbscript!") %>
ASP测试代码: <% response.write("helloworld,vbscript!") %>
- Target Operator ID has No Access to Upgrade
If you are attempting to migrate a project between environments through application designer you mig ...
- 判断文件夹下是否存在txt格式的文本文件
判断D盘下是否存在txt类型的文件 string p_Path="D:\\"; bool IsHaveTxt() { DirectoryInfo foldinfo = new Di ...
- 关于Ajax跨域
本人因工作需求,编写了一个测试页面,在页面填写完信息之后去向一个站点请求数据,然后返回结果!一开始是直接用Ajax在脚本中去访问,没有大碍(因为目标地址是本机上的一个网站),但是当站点去外部的网站时, ...