MVC 之 Code First】的更多相关文章

在上一篇文章中,我们学习了如何使用实体框架的“Code First Migrations ”工具,使用其中的“迁移”功能对模型类进行一些修改,同时同步更新对应数据库的表结构. 在本文章中,我们将使用“Code First Migrations ”工具.使用其中的“Send”更新方法,添加Rating字段到每个Book对象与数据库表中. 一.在Book模型中添加“Rating”属性 首先,在Visual Studio打开Models\ Book.cs文件,在Book类中添加一个新的Rating属性…
转载地址:http://www.cnblogs.com/JustRun1983/archive/2013/03/28/2981645.html  有修改 Autofac通过Controller默认构造函数实现依赖注入原理: 我们知道,MVC处理一个请求时,首先从请求的URL中解析出对应Route然后根据Route去找到对应的Controller和Action,然后执行Action方法返回请求结果.Controller的实例化是由一个叫DefaultControllerFactor的类去完成的,而…
1创建标准MVC项目 2通过NuGet安装EF 3在Models文件夹中编写实体类 4创建EFDB上下文类 5在webconfig中创建连接字符串,其中name=EFDB上下文类名 6通过管理控制台执行Enable-Migrations 生成迁移类,将其中的AutomaticMigrationsEnabled = false改为=true 7继续执行命令:Update-Database  用code first方式生成数据库 8今后修改models之后,只需要再执行Update-Database…
在我们的工作和学习当中,经常会遇到中小型项目,这些项目除了业务上的区别较大 外,对于底层和数据访问,其实都差不多.记得以前做项目时,每次都要重复的写底层操作数据库的代码,不仅浪费时间,也无太大意思,后来接触到了 Entity Framework,Linq等技术,发现底层原来可以这么简单,既缩短了大量的开发时间,又提高了代码质量. 今天就向大家演示两种搭建底层和技术,在此,也给自己做一个笔记. CodeFirst,用中文说是代码优先,此技术可以让我们先写代码,然后由Entity Framework…
在本篇文章中,我们学习如何使用实体框架的“Code First Migrations ”(也称为代码先行功能)工具,使用其中的“迁移”功能对模型类进行一些修改,同时同步更新对应数据库的表结构. 默认情况下,当您使用实体框架的“Code First Migrations ”工具,实体框架会自动创建一个数据库.“代码先行功能”首先会添加一个新表到数据库中,以便跟踪数据库的架构是否与模型类同步.如果它们不同步,实体框架会抛出一个错误.这样开发人员在开发时就能更容易地追查问题出在什么地方,而其他的开发方…
Model compatibility cannot be checked because the EdmMetadata type was not included in the model. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions. 分析: 碰到此错误是由于使用了EF Code First来生成数据库,生成数据库之后又修改了模型. 两种解决方式: 1.在Glo…
1.在“服务资源管理器”连接数据库 2.打开工具-Nuget程序包管理器“程序包管理器控制台” 3.控制台输入命令:PM> Enable-Migrations -StartUpProjectName Studentgl(“CodeFirst”是你的项目名称) 如果没有错误你的项目中将自动生成一个名为”Migrations“的文件夹,里面包含两个文件: Configuration.cs和201405131430139_InitialCreate.cs(201405131430139是时间戳). 4…
在使用EF的实际编程中我们经常遇到这样的问题:发现实体结构需要新增加一个字段,或者减少一个字段,急需把实体结构修改,并让数据库更新这种修改.在用Model First或者Database First的情况下我们可以通过在实体视图界面下生成更改数据库数据结构的sql语句,然后通过执行这些sql语句来完成数据库的修改.可Code First下应该怎么办呢. 其实我们可以通过程序包管理控制台的命令来完成这种修改: 如下面的实体类代码,红底黄字部分是我添加的一个新的字段,现在我需要让数据库也跟着进行改变…
1. 控制表名单复数: 在DbContext类中修改OnModelCreating()为: protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); } 2. Entity Framework 内部错误调试: try { XXDbContext db = new XXDbCont…
如果模型类(数据库上下文类Context和POCO类)发生改变,与数据库中的结构不一致,系统默认会抛出一个异常.可以考虑使用代码优先迁移. 代码优先迁移执行UpSert数据库操作,它在每一次更新数据库(Update-Database)后执行,添加数据库中没有的记录,更新数据库已有的记录,通过UI添加的记录保持不变.(模型更改后需要重新编译程序,并修改各视图和方法绑定的白名单,如果不是第一次迁移,还需要设置迁移文件交下configtion.cs文件中的seed方法增加或改变字段.)执行步骤如下:…