EF中DbContext如何使用自定义数据源,而不是使用app.config中的链接字符串
2017-11-07 09:09
288 查看
如题:
之前在EF使用时,一直纠结于APPCONFIG中的配置的连接字符串,不能使用动态链接字符串;
经过对比,DbContext的构造函数中有一个构造函数如下:
从该构造函数入手,每次创建一个新的链接,其中contextOwnsConnection参数是设置为 true,使用完之后释放即可。
具体实现如下:
之前在EF使用时,一直纠结于APPCONFIG中的配置的连接字符串,不能使用动态链接字符串;
经过对比,DbContext的构造函数中有一个构造函数如下:
// // 摘要: // 通过现有连接来连接到数据库以构造一个新的上下文实例。如果 contextOwnsConnection 是 false,则释放上下文时将不会释放该连接。 // // 参数: // existingConnection: // 要用于新的上下文的现有连接。 // // contextOwnsConnection: // 如果设置为 true,则释放上下文时将释放该连接;否则调用方必须释放该连接。 [SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope")] public DbContext(DbConnection existingConnection, bool contextOwnsConnection);
从该构造函数入手,每次创建一个新的链接,其中contextOwnsConnection参数是设置为 true,使用完之后释放即可。
具体实现如下:
//您的上下文已配置为从您的应用程序的配置文件(App.config 或 Web.config) //使用“LocalDb”连接字符串。默认情况下,此连接字符串针对您的 LocalDb 实例上的 //“com.InstrumentCar.Datas.LocalDb”数据库。 // //如果您想要针对其他数据库和/或数据库提供程序,请在应用程序配置文件中修改“LocalDb” //连接字符串。 public LocalDb() : base(new SQLiteConnection(Config.Config.getDatabaseConnStr()),true/*"name=LocalDb"*/){}
在使用时,可按照下列方法使用:using (LocalDb localdb = new LocalDb()) { ... }
相关文章推荐
- 如何使用App.config文件,读取字符串?
- NET中使用三层构架如何从DAL层读取web.config中的数据库连接字符串!
- C# 的winform中使用数据库连接字符串 -- app.config
- 如何在web.config 或者 app.config 文件中配置自定义节点
- MVC中采用 EF,如何自定义链接字串
- GridView的HyperLinkField的DataNavigateUrlFormatString如何使用自定义的变量,而不是数据库绑定的值.报错:指定的参数已超出有效值的范围。参数名: index
- 让LinqToSQL使用Web.Config中的链接字符串(修改Settings.Designer.cs)
- 如何在web.config 或者 app.config 文件中配置自定义节点
- [导入].NET中使用三层构架如何从DAL层读取web.config中的数据库连接字符串!
- EF使用自定义字符串连接数据库
- 在C#类库中使用App.config文件自定义配置
- 关于asp.net(c#),webconfig中如何定义一个字符串让所有页面共同使用?
- 如何使用Xpose绕过APP自定义证书验证去抓Https包
- Android 如何使用短信链接打开APP
- GridView的HyperLinkField的DataNavigateUrlFormatString如何使用自定义的变量,而不是数据库绑定的值
- [转]C#中使用自定义配置(app.config)
- VS web.config/app.conifg配置文件自定义类型使用智能感知功能
- EF学习杂记30:如何在EF中使用数据库自定义函数
- 在C#类库中使用App.config文件自定义配置
- 如何使用JS在HTML中自定义字符串格式化