多个上下文对象我很新的实体框架,所以请多多包涵......如何与使用实体框架
我如何能与两个对象来自不同的上下文在一起?
下面的例子引发以下例外:
System.InvalidOperationException:两个对象,因为它们是 附连到不同的ObjectContext 对象 不能被定义之间的关系 。
void MyFunction()
{
using (TCPSEntities model = new TCPSEntities())
{
EmployeeRoles er = model.EmployeeRoles.First(p=>p.EmployeeId == 123);
er.Roles = GetDefaultRole();
model.SaveChanges();
}
}
private static Roles GetDefaultRole()
{
Roles r = null;
using (TCPSEntities model = new TCPSEntities())
{
r = model.Roles.First(p => p.RoleId == 1);
}
return r;
}
使用一个上下文是不是一种选择,因为我们使用的是EF在ASP.NET应用程序。
为什么你的名字你的数据上下文类型`TCPSEntities`,以及为什么你的名字你的数据上下文对象`model`?您可能会考虑不使用`new`,而是将预构建的数据上下文或数据上下文工厂传递给该函数。你也可以考虑使用`Enumerable.SingleOrDefault`而不是`Enumerable.First`。 – yfeldblum 2009-05-03 17:07:16