我有一个3层的项目。EF4和连接字符串
1)Project.Data(EDMX文件)
2)Project.Model(POCO的)
3)Project.Console(控制台应用程序)
我已添加的连接串入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>
的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.
我做了大量的研究(谷歌搜索),并发现它似乎是这些资源的链接问题。我似乎无法找到解决办法。
任何帮助表示赞赏。
我读了一篇文章,建议克雷格,但我仍然不明朗,我必须把... dll文件引用您的project.data组装?我有一个喜欢你的场景。我假设在Project.Model的app.config?我的上下文和pocos与独立项目中的edm文件分开,就像你的情况,Project.Model一样。 – 2010-10-26 12:39:43
在我的控制台项目中,我需要对我的数据(EDMX)和模型项目的引用。它还需要对System.Data.Entity的引用。 – 2010-10-26 13:49:14