我的ASP.NET MVC2应用程序使用Entity Framework4.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中定义相同的连接字符串。我应该如何组织我的项目/配置文件,以便只在一个位置找到数据库的连接字符串?这个是可能的吗?
发布于 2010-09-24 04:11:54
您可以将自动生成的app.config嵌入到模型项目中,并在使用GetEmbeddedResource...or创建DataContext时引用连接字符串(更常见的方法),将连接字符串从自动生成的app.config手动复制到您的web.config中。
如果您想要更巧妙,可以创建一个简单的T4模板,该模板在生成EDMX模型时复制web.config中的app.config连接字符串。
https://stackoverflow.com/questions/3782152
复制相似问题