2015-02-11 62 views
0

我有两个程序集组成的项目。app.config组织中的数据库描述

  • Project.Entities是类库与实体和数据库描述(我用EF6 + SqlServer的精简版4)

  • Project.Core也类库,包含整个业务逻辑(取决于Project.Entities

  • Project.UI是WPF应用程序,其中包含UI声明和来自实体的一些翻译(在Project.Entities中声明)为适合WPF的视图模型。

现在我面临着以下问题:我想保持约在app.config中的数据库,在Project.Entities呈现整个信息。但一开始,我得到一个错误,连接字符串未找到或提供者未发现结束等等等等等等等等。最后只有一种方法可以解决它 - 将所有部分(entityFramework,connectionStrings,system.data)移动到app.configProject.UI

UPD:我packages.configProject.Entities是:

<?xml version="1.0" encoding="utf-8"?> 
<packages> 
    <package id="EntityFramework" version="6.1.2" targetFramework="net40" /> 
    <package id="EntityFramework.SqlServerCompact" version="6.1.2" targetFramework="net40" /> 
    <package id="Microsoft.SqlServer.Compact" version="4.0.8876.1" targetFramework="net40" /> 
</packages> 

我应该也是同样的包添加到UI工程启动呢?或者我可以在Entities程序集中保留所有与数据库相关的功能?

我不确定它是否正确或不正确,我是一个非常新的WPF。

回答

1

默认情况下,您必须每个AppDomain都有一个配置文件。因此,您需要将您的Project.Entities配置中的所有实体框架特定部分(包括连接字符串)添加到Project.UI部件的App.Config中。

实际上,您在AppDomain内需要的所有设置都必须位于此配置文件中。

这不是WPF具体的,它适用于所有CLR拼命地跑执行,服务,网站等

详细descibtion可以发现是here

+0

谢谢!我认为,在构建所有app.configs合并或嵌入到父组件中的每个app.config。 – 2015-02-11 21:49:49