У меня есть трехуровневый проект.EF4 и соединительная строка
1) Project.Data (EDMX файл)
2) Project.Model()
3) Project.Console (Console приложение Poco в)
Я добавил строку подключения в Project.Console
.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="ProjectEntities" connectionString="metadata=res://*/Project.csdl|res://*/Project.ssdl|res://*/Project.msl;provider=System.Data.SqlClient;provider connection string="Data Source=PC\SQLEXPRESS;Initial Catalog=Project;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
The Project.Model
построен с использованием EntityObject
T4 шаблона в VS2010. Он генерирует ObjectContext
класс, с помощью этого конструктора:
public ProjectEntities() : base("name=ProjectEntities", "ProjectEntities")
{
this.ContextOptions.LazyLoadingEnabled = true;
OnContextCreated();
}
Я просто пытаюсь создать экземпляр context
объекта, в Project.Console
:
namespace Project.Console
{
class Program
{
static void Main(string[] args)
{
ProjectEntities pe = new ProjectEntities();
}
}
}
Однако я получаю ошибку MetadataException was unhandled
в конструкторе. Заявка Unable to load the specified metadata resource.
Я провел много исследований (Google) и обнаружил, что это проблема связи с этими ресурсами. Кажется, я не могу найти разрешение.
Любая помощь приветствуется.
Я прочитал статью, что Крейг предложил, но я до сих пор неизвестно, где я должен поместить ... DLL ссылку на файл? Мне нравится сценарий. Я предполагаю в app.config Project.Model? У меня есть мой контекст и pocos, отделенные от edm-файла в отдельном проекте, как в вашем случае Project.Model. –
В моем проекте консоли мне нужна ссылка на мои данные (EDMX) и проект модели. Он также потребовал ссылку на System.Data.Entity. –