WCF,实体框架和N层解决方案

时间:2012-03-29 19:54:24

标签: wcf entity-framework

我在3层解决方案中使用Entity Framework实现了WCF服务。我得到了它的工作,但令我困惑的是为什么我必须复制连接字符串(在配置文件中指定 C1 ,实体框架用来从数据库中检索架构信息)到配置文件中 C2 使用了WCF服务?也就是说,如果我不复制连接字符串,那么我得到:

FaultException: The specified named connection is either not found in the confiuration, 
not intended to be used with the EntityClient provider, or not valid.

因此,似乎 C1 的连接字符串在设计时由Entity Framework使用,而在运行时连接中使用 C2 中指定的字符串来连接到数据库?为什么呢?

谢谢

1 个答案:

答案 0 :(得分:1)

除非另行指定,否则连接字符串始终来自执行程序集的配置文件。原因很明显:引用相同数据DLL的两个不同的可执行文件可能想要使用不同的物理数据库。

在设计时,没有正在执行的程序集。因此,使用包含EDMX的项目的配置文件。