【发布时间】:2015-03-04 13:34:09
【问题描述】:
我们在 VS2010 上,并且有 Entity Framework 为许多事情工作。参考就在那里,它是 4.4.0.0。有相同错误的 SO 线程说它可能由于 .net 版本不匹配,但是由于 EF 调用在程序的某些部分中工作,这似乎不太可能。我已经卸载并重新安装了几次 EF,但没有成功。
这个错误发生在SaveChanges():
无法找到程序集实体框架 4.4.0.0
// add to permissions table
EAT_Permissions permission = new EAT_Permissions
{
action_id = actionID,
login = userLogin
};
context.EAT_Permissions.Attach(permission);
context.EAT_Permissions.Add(permission);
context.SaveChanges();
permissionsDGV.Refresh();
MessageBox.Show("Permission was added");
相比之下,工作代码:
if (context.EAT_Users.Any(p => p.login == userLogin))
{
var removeUser = context.EAT_Users.Find(userLogin);
context.EAT_Users.Attach(removeUser);
context.EAT_Users.Remove(removeUser);
context.SaveChanges();
userListDGV.Refresh();
MessageBox.Show("User was removed");
}
else..
【问题讨论】:
-
作为健全性检查,bin 文件夹中是否有 EntityFramework.dll 文件?您是否检查了 .csproj 文件以确保存在正确的参考?您是否清理并重建了解决方案?您是否检查了 app.config/web.config(以适用者为准)文件中的实体框架参考?
-
是的,是的,是的。 :( 它适用于许多其他调用,所以我认为这是由于表格的布局方式造成的......但这将是一个奇怪的错误。谢谢你的建议。
-
@user1666620 如果您有多个负责 DAL 的项目,则可能是这些项目之间不匹配,或者其中一个配置文件中可能存在 EF 版本的 bindingRedirect。
-
您的解决方案是否包含多个项目?他们是否引用了不同版本的实体框架?
-
“无法找到程序集实体框架 4.4.0.0”异常的堆栈跟踪是什么?
标签: c# .net excel entity-framework