EFUnitOfWorkFactory инициализация - PullRequest
0 голосов
/ 17 апреля 2011

Я пытаюсь инициализировать контекст объекта EFUnitOfWorkFactory.

В global.asax:

void Application_Start(object sender, EventArgs e)
{
    // Code that runs on application startup
    ObjectFactory.Initialize(x =>
        {
            x.For<IUnitOfWorkFactory>().Use<EFUnitOfWorkFactory>();
            x.For(typeof(IRepository<>)).Use(typeof(EFRepository<>));
        }
    );
    EFUnitOfWorkFactory.SetObjectContext(() => new MyEntities());
}

В сгенерированном контексте объекта у меня есть:

public partial class MyEntities : ObjectContext
{
    .....
    .....
}

Я получаю исключение при выполнении веб-приложения в EFUnitOfWorkFactory.SetObjectContext(() => new MyEntities());:

Compiler Error Message: CS0012: The type 'System.Data.Objects.ObjectContext' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

. Я дважды добавил System.Data.Entity в свое веб-приложение и перестроил его, но все равно получаю это сообщение.Кроме того, эта строка в расписаниях gobal.asax помечена красным подчеркиванием.

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

1 Ответ

5 голосов
/ 17 апреля 2011

Вы уверены, что у вас есть System.Data.Entity.dll из .NET 4.0 в ссылочных сборках в веб-приложении или на веб-сайте? Он также должен появиться в web.config:

<system.web>
  <compilation debug="true" targetFramework="4.0">
    <assemblies>
      <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    </assemblies>
  </compilation>

  ...
</system.web>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...