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

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

时间: 2024-10-09 09:36:39

EF6 在原有数据库中使用 CodeFirst 总复习(一、搭建基础环境)的相关文章

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

有点与在原有数据库中使用 CodeFirst 远了,不过是总复习吗,总得全面点. 一.在用户表(Users)中插入两个用户 二.生成发帖界面 MVC生成的界面很多,也没使用Ajax,实际开发中很少会使用,这里只是为了演示. 但无论用什么生成,特性.实体对象等都是要用到的. 生成之前要编译一下. 三.先试试看能不能运行 空空如也 应该显示用户名,显示成登陆名了(其实预想的是不在新增和修改时显示,未考虑到列表),删除标记怎么也显示出来了,还有内容,能显示的下吗... 四.列显示问题 让列表显示用户,

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

position:static(静态定位) 当position属性定义为static时,可以将元素定义为静态位置,所谓静态位置就是各个元素在HTML文档流中应有的位置 podisition定位问题.所以当没有定义position属性时,并不说明该元素没有自己的位置,它会遵循默认显示为静态位置,在静态定位状态下无法通过坐标值(top,left,right,bottom)来改变它的位置. position:absolute(绝对定位) 当position属性定义为absolute时,元素会脱离文档流

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

position:static(静态定位) 当position属性定义为static时,可以将元素定义为静态位置,所谓静态位置就是各个元素在HTML文档流中应有的位置 podisition定位问题.所以当没有定义position属性时,并不说明该元素没有自己的位置,它会遵循默认显示为静态位置,在静态定位状态下无法通过坐标值(top,left,right,bottom)来改变它的位置. position:absolute(绝对定位) 当position属性定义为absolute时,元素会脱离文档流

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

position:static(静态定位) 当position属性定义为static时,可以将元素定义为静态位置,所谓静态位置就是各个元素在HTML文档流中应有的位置 podisition定位问题.所以当没有定义position属性时,并不说明该元素没有自己的位置,它会遵循默认显示为静态位置,在静态定位状态下无法通过坐标值(top,left,right,bottom)来改变它的位置. position:absolute(绝对定位) 当position属性定义为absolute时,元素会脱离文档流

查询一个月最后一天的总用户数,数据库中没有保存最好一天的数据,就查询本月数据库已存有的最后一天的数据

select total_user from a_user_no where date_time=(select max(date_time) from a_user_no  where '2013-05'+ "'=to_char(date_time,'yyyy-mm')); 通过max 函数来去5月份出现最大日期的数据 查询一个月最后一天的总用户数,数据库中没有保存最好一天的数据,就查询本月数据库已存有的最后一天的数据,布布扣,bubuko.com

SQL 中怎么查询数据库中具有的表、存储过程、试图数目、总触发器数、作业数

用户表:select count(*) 总表数 from sysobjects where xtype='u' 刚才那个是用户表,下面这个是系统表加用户表: select count(*) 总表数 from sysobject s where xtype in('u','s') 总视图数:select count(*) 总视图数 from sysobjects where xtype='v' 总存储过程数:select count(*) 总存储过程数 from sysobjects where

MySQL数据库中查询数据库表、字段总数量,查询数据总量

最近要查询一些数据库的基本情况,由于以前用oracle数据库比较多,现在换了MySQL数据库,就整理了一部分语句记录下来. 1.查询数据库表数量 1 #查询MySQL服务中数据库表数据量 2 SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES GROUP BY table_schema; 3 #查询指定数据库表数量 4 SELECT COUNT(*) TABLES, table_schema FROM infor

EntityFramework Code-First 简易教程(十一)-------从已存在的数据库中映射出表

怎样从一个已存在的数据库中映射表到 entity 实体? Entity Framework 提供了一个简便方法,可以为已存在的数据库里的所有表和视图创建实体类(entity class),并且可以用 DataAnnotation 特性和 Fluent API 来配置. 首先,右键你的 Visual Studio 项目 -> 添加 -> 新建项目: 选择 ADO.NET实体数据模型(ADO.NET Entity Data Model ),并指定模型名称(这个名称将会是 contenxt 类的类名

实体框架 (EF) 入门 => 二、在全新的数据库中使用 Code First

学习资料:http://msdn.microsoft.com/zh-cn/data/jj193542 视频建立的控制台应用程序,我在这里使用MVC. 一.非常有磁性的,非常优雅 很喜欢看这个人的视频,虽然我听不太懂,也不知道他叫什么.他的声音非常有磁性,让我...,让我......,百听不厌. 看到了吗?他一边讲解,代码就一边流畅的显示在屏幕上,让你懂得,什么是优雅. 原来也看过,但发现动手时还是无从下手,所以,不仅应该学习代码,还应该学习流程,先做什么,后做什么,为什么要这样做. 二.建立MV