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<XXModelContext>(null);
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity; namespace XX
{
public class SampleData : DropCreateDatabaseIfModelChanges<XXModelContext>
{
protected override void Seed(XXModelContext context)
{
var m= new List<XXModel>
{
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”的引用。