跨库的多个配置文件

时间:2010-09-23 20:07:22

标签: asp.net-mvc-2 web-config entity-framework-4 app-config

我的ASP.NET MVC 2应用程序使用Entity Framework 4.0作为数据模型。按照http://blogs.msdn.com/b/aspnetue/archive/2010/09/17/second_2d00_post.aspx上的说明,我将.edmx放在自己的程序集中,这样我的解决方案就有两个项目:

MyApp.Core (ASP.NET MVC 2 Web Application Project, references MyApp.DataLayer)
 Models/
 Controllers/
 Views/
 Web.config

MyApp.DataLayer (Class Library Project)
 Entities.edmx
 App.Config (<-- generated by edmx when I update model from DB)

当我重新生成Entities.edmx时,它会在MyApp.DataLayer下创建App.Config文件,其中包含数据库的连接字符串。问题是,当我部署解决方案时,Web.config是唯一也部署的配置,所以我必须手动添加这些连接字符串,否则我在运行时会收到异常,因为找不到它们。

我不想在Web.config和App.Config中定义相同的连接字符串。我应该如何组织我的项目/配置文件,以便只在一个地方找到与数据库的连接字符串?这可能吗?

1 个答案:

答案 0 :(得分:1)

您可以在Model项目中嵌入自动生成的app.config,并在使用GetEmbeddedResource创建DataContext时引用连接字符串...或者(更常规的方法)从自动生成的应用程序手动复制连接字符串。配置到你的web.config。

如果您想要真正具有创造性,请创建一个简单的T4模板,在生成EDMX模型时复制web.config中的app.config连接字符串。