1.异常
The model backing the 'DBContext' context has changed since the database was created.Consider using Code First Migrations to update the database
原因是没有添加初始化数据,解决方法
System.Data.Entity.Database.SetInitializer(new XX.SampleData());
或 System.Data.Entity.Database.SetInitializer(null);
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Data.Entity;namespace XX{ public class SampleData : DropCreateDatabaseIfModelChanges{ protected override void Seed(XXModelContext context) { var m= new List { new XXModel(),new XXModel() }.ForEach(a => context.XXModels.Add(a)); } }}
也可以通过NPM控制台处理 :update-database -force
2.“System.Data.Objects.ObjectContext”在未被引用的程序集中定义。
使用EF的CodeFirst时,我们一般会这样写
public class DBContext:DbContext{ public DBContext(string conn) : base(conn) { }}
虽然引用了EntityFrame.dll 但有时候会出现下面这个错误
类型“System.Data.Objects.ObjectContext”在未被引用的程序集中定义。必须添加对程序集“System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。
解决方法:引用System.Data.Entity.dll即可
错误 1 类型“System.Data.Objects.ObjectContext”在未被引用的程序集中定义。必须添加对程序集“System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。