Entity Framework 异常档案

时间:2021-04-16 09:16:20

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”的引用。