如何修改ADO.NET Entity Data Model代码,使用Properties中的连接字符串?
如何修改DbContext以使用Properties.Settings中的连接字符串?
嗨,这个问题很常见,我来给你一步步说怎么调整代码,让你的MyDbContext用上Properties.Settings.Default.MyDbConnString里的连接字符串:
1. 更新MyDbContext的构造函数
自动生成的DbContext是部分类(partial class),千万别直接修改自动生成的那个.cs文件——下次更新EDMX时你的改动会被覆盖。建议新建一个单独的扩展文件(比如MyDbContext.Custom.cs),在里面添加自定义构造函数:
public partial class MyDbContext : DbContext { // 自定义构造函数,直接传入Settings里的连接字符串 public MyDbContext() : base(Properties.Settings.Default.MyDbConnString) { } // 可选:保留带参数的构造函数,方便灵活传入不同连接字符串 public MyDbContext(string connectionString) : base(connectionString) { } }
这样实例化MyDbContext时,就会自动使用Settings里的连接字符串,不再依赖App.config里的命名连接项。
2. 清理App.config(可选)
既然已经不用App.config里的MyDbContext连接字符串了,你可以把<connectionStrings>里对应的条目删掉,避免后续混淆:
<!-- 移除这一行冗余配置 --> <add name="MyDbContext" connectionString="data source=...;initial catalog=...;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
小提醒
- 确认
Properties.Settings.Default.MyDbConnString里的连接字符串是完整且正确的,要包含数据库地址、初始目录、认证方式等必要信息。 - 如果是多层架构项目,要确保访问
Properties.Settings的项目有对应的设置项,或者通过参数把连接字符串传递给MyDbContext。
内容的提问来源于stack exchange,提问作者ca9163d9
相关产品推荐
相关产品推荐

