0

我正在构建一个使用实体框架的 Web 应用程序。我已将实体模型和生成的类移到一个单独的项目中,因为它将被多个消费者使用。

但是当我尝试运行应用程序时,Entity Framework 告诉我

No connection string named 'X' could be ofund in the application config file. 

要消除此问题,我必须将实体框架连接字符串添加到每个使用项目。当然这很烦人,因为有几个消费者,而且它还引入了一种紧密耦合,我希望通过将软件分成不同的项目来摆脱这种耦合。

那么是否可以只在一个地方而不是在每个消费项目中定义连接字符串?

注意:我遵循数据库优先方法。

4

1 回答 1

1

这是可能的,因为您可以使用接受连接字符串的构造函数来实例化上下文。在我们的一个项目中,我们有一个 ContextFactory,其中连接字符串在启动时注册一次。程序集中的所有代码都从工厂获取上下文。

实际上,在我们的例子中,我们使用 ObjectContext,并根据注册的连接和创建上下文时创建的元数据字符串为工厂创建连接字符串。我们通过使用EntityConnectionStringBuilder来做到这一点。

于 2012-06-11T08:33:22.193 回答