我正在使用带有实体框架模型的动态数据。如果我将它与 1 个 EF 模型一起使用,那么这就像一个魅力。
但现在我需要在我的动态数据项目中使用多个 EF 模型,并且在注册过程中收到错误消息。
代码:
public static void RegisterRoutes(RouteCollection routes)
{
var model1 = new MetaModel();
model1.RegisterContext(() =>
{
return ((IObjectContextAdapter)new Model1Entities()).ObjectContext;
}, new ContextConfiguration() { ScaffoldAllTables = true });
routes.Add(new DynamicDataRoute("model1/{table}/{action}.aspx")
{
Constraints = new RouteValueDictionary(new { action = "List|Details|Edit|Insert" }),
Model = model1
});
var model2 = new MetaModel();
model2.RegisterContext(() =>
{
return ((IObjectContextAdapter)new Model2Entities()).ObjectContext;
}, new ContextConfiguration() { ScaffoldAllTables = true });
routes.Add(new DynamicDataRoute("model2/{table}/{action}.aspx")
{
Constraints = new RouteValueDictionary(new { action = "List|Details|Edit|Insert" }),
Model = model2
});
}
在运行时,当他执行 model2.RegisterContext 时我收到一个错误。
错误:
项目已添加。字典中的键:'System.Data.Objects.ObjectContext' 添加的键:'System.Data.Objects.ObjectContext'
因此,对于模型 1,他可以注册上下文,但对于模型 2,他因此错误而被阻止。
如果你知道如何解决这个问题,请指教!