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

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 总复习(一、搭建基础环境)的更多相关文章

  1. EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)

    本来原来学的时候,挺顺利的,没想到再次使用,还是遇到很多问题,导致更新失败,所以,只能重建迁移,免得看着乱乱的. 一.删除迁移,将数据恢复到(一)结束状态 1.删除文件夹 2.删除表 3.删除列 4. ...

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

    有点与在原有数据库中使用 CodeFirst 远了,不过是总复习吗,总得全面点. 一.在用户表(Users)中插入两个用户 二.生成发帖界面 MVC生成的界面很多,也没使用Ajax,实际开发中很少会使 ...

  3. EF6 在原有数据库中使用 CodeFirst 总复习(四、新建实体对象)

    在原有数据库中使用 CodeFirst ,除了第一次添加实体后要立即执行一次 Enable-Migrations add-migration Initial  -IgnoreChanges updat ...

  4. EF6 在原有数据库中使用 CodeFirst 总复习(二、新的需求,简单修改原有表)

    一.为当前实体模型启用数据迁移 基础搭建好了,也就是原有的数据库有了,原有数据库的实体对象也有了,但生成的上下文中并没有标记当前数据库是否已经存在,当前实体是否修改过(以前版本好像有标记的),所以,要 ...

  5. 在原有数据库中使用 CodeFirst

    一.为当前实体模型启用数据迁移 1.Enable-Migrations -ContextTypeName EME.DBHelper.StoreContext(数据访问上下文) 2. Add-Migra ...

  6. [Intel Edison开发板] 06、Edison开发在linux中烧写、配置、搭建开发环境

    1.前言 linux上烧写.配置.搭建Edison环境,千万不要用默认的setup tool for ubuntu!!! (即使,你用的就是ubuntu) 因为,其默认的工具会从一个坏链接下载配置文件 ...

  7. Oracle数据库中有关记录个数的查询

    一.查询表中全部的记录个数 可用两种方法,一种是在oracle的系统表中统计,另一种需要写存储过程统计,方法分别如下. 1.系统表中统计: SELECT sum(num_rows) FROM user ...

  8. 在ASP.NET MVC5 及 Visual Studio 2013 中为Identity账户系统配置数据库链接及Code-First数据库迁移

    在ASP.NET MVC5 及 Visual Studio 2013 中为Identity账户系统配置数据库链接及Code-First数据库迁移 最近发布的ASP.NET MVC 5 及Visual ...

  9. 14.翻译系列:从已经存在的数据库中生成上下文类和实体类【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/code-first-from-existing-database.aspx EF 6 ...

随机推荐

  1. Retrofit入门

    1 Retrofit retrofit = new Retrofit.Builder() .addConverterFactory(ScalarsConverterFactory.create()) ...

  2. Windows API学习---用户方式中的线程同步

    前言 当所有的线程在互相之间不需要进行通信的情况下就能够顺利地运行时, Micrsoft Windows的运行性能最好.但是,线程很少能够在所有的时间都独立地进行操作.通常情况下,要生成一些线程来处理 ...

  3. python jinjia2模板使用

    https://gist.github.com/wrunk/1317933 #!/usr/bin/env python # -*- coding: utf-8 -*- from jinja2 impo ...

  4. C# 中DataGridView 绑定List<T>做数据源的操作问题

    若想将 List<T>作为DataGridView的数据源,然后后续还想继续操作的话,需要将List<T>赋值给BindingList对象, 然后直接将BindingList赋 ...

  5. Ax Grid 的显示根据用户的需求动态排序。

    点击方向按钮上下移动记录. 设计思路. 以临时表TmpTable1举例. 在表中加一个real类型字段(eg:ColumnSeq)用于排序,给表建一个ColumnSeq字段的索引ColumnSeqId ...

  6. leetcode3:不重复的最长子串长度

    package hashmap; import java.util.HashMap; import java.util.Map; public class hashmap { public stati ...

  7. Windows系统错误代码大全

    1 Microsoft Windows 系统错误代码简单分析: 0000 操作已成功完成.0001 错误的函数. 0002 系统找不到指定的文件. 0003 系统找不到指定的路径. 0004 系统无法 ...

  8. Conditional Counting In SQL

      If you ever want to conditionally count the number of times a particular condition occurs in SQL, ...

  9. LevelDB源码剖析

    LevelDB的公共部件并不复杂,但为了更好的理解其各个核心模块的实现,此处挑几个关键的部件先行备忘. Arena(内存领地) Arena类用于内存管理,其存在的价值在于: 提高程序性能,减少Heap ...

  10. ASP.NET的错误处理机制之一(概念)

    对Web应用程序来说,发生不可预知的错误和异常在所难免,我们必须为Web程序提供错误处理机制.当错误发生时,我们必须做好两件事情:一是将错误信息记录日志,发邮件通知网站维护人员,方便技术人员对错误进行 ...