Breeze EFContextProvider似乎正在尝试使用System.Data.Objects.ObjectContext,它显然已被移动(参见EF 6 System.Data.Objects.ObjectContext Error)。
任何人都知道如何解决这个问题?
这是我从元数据操作方法返回到浏览器的错误。
{
*
$id: "1",
*
$type: "System.Web.Http.HttpError, System.Web.Http",
*
Message: "An error has occurred.",
*
ExceptionMessage: "Method not found: 'System.Data.Objects.ObjectContext System.Data.Entity.Infrastructure.IObjectContextAdapter.get_ObjectContext()'.",
*
ExceptionType: "System.MissingMethodException",
*
StackTrace: " at Breeze.WebApi.EFContextProvider`1.GetCsdlFromDbContext(Object context) at Breeze.WebApi.EFContextProvider`1.BuildJsonMetadata() at Breeze.WebApi.ContextProvider.Metadata() at App.Spa.Controllers.BreezeController.Metadata() in ...filepath...\BreezeController.cs:line 23 at lambda_method(Closure , Object , Object[] ) at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass13.<GetExecutor>b__c(Object instance, Object[] methodParameters) at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(Object instance, Object[] arguments) at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.<>c__DisplayClass5.<ExecuteAsync>b__4() at System.Threading.Tasks.TaskHelpers.RunSynchronously[TResult](Func`1 func, CancellationToken cancellationToken)"
}
答案 0 :(得分:2)
EF 6仍在Alpha中。我们可能不会尝试为Breeze提供支持,直到它至少制作Beta。但是您可以通过Git访问源代码,因此通过更改您提到的帖子的来源,这个特定问题应该很容易解决。
答案 1 :(得分:1)
这是我试过的:
您将看到breeze-master源中引用的一些EF名称空间被加下划线作为引用错误,要更正它们,请按照
中提到的更新名称空间说明进行操作http://entityframework.codeplex.com/wikipage?title=Updating%20Applications%20to%20use%20EF6
重建整个解决方案并创建新的Breeze.WebApi.dll
打开您的项目并添加对该Breeze.WebApi.dll