2013-05-17 6 views
1

Похоже, что Breeze EFContextProvider пытается использовать System.Data.Objects.ObjectContext, который, по-видимому, перемещен (см. EF 6 System.Data.Objects.ObjectContext Error).Проблемы с BreezeJS и Entity Framework 6

Кто-нибудь знает, как решить эту проблему?

Это ошибка, которую я получаю в браузере из метода действия метаданных.

{ 
    * 
$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)" 


} 

ответ

2

EF 6 все еще находится в Альфе. Мы, вероятно, не будем пытаться поддерживать его для Бриза, пока он, по крайней мере, не сделает Beta. Но у вас есть доступ к источнику через Git, поэтому эту конкретную проблему нужно довольно легко исправить, изменив исходный код на указанное вами сообщение.

1

это то, что я пробовал:..

  1. скачать бриз-мастер из GitHub и извлечь его,
  2. открыть Breeze * SLn с визуальной студии 2012, обновление EF6 (удалить старый EF, если существует) с помощью NuGet менеджер пакетов,
  3. вы увидите некоторые EF пространство имен упоминается в бриз-мастер источника были подчеркнуты в качестве опорной ошибки, исправить их, следуйте инструкциям обновления пространства имен, упомянутых в

    http://entityframework.codeplex.com/wikipage?title=Updating%20Applications%20to%20use%20EF6

  4. перестраивать весь раствор и новый Breeze.WebApi.dll создается

  5. открыть свой проект и добавить ссылку на эту Breeze.WebApi.dll

Смежные вопросы