博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
终于找到一个方法可以使用EF的时候动态指定数据库路径了
阅读量:5812 次
发布时间:2019-06-18

本文共 791 字,大约阅读时间需要 2 分钟。

hot3.png

最近在一个C#客户端中使用SQLite数据库,由于EF极为方便,所以用EF作为数据库操作方式。最初使用EF的Db First方式,可以在DbContext的构造函数里面传入拼接的字符串实现动态指定数据库路径。但后来由于种种原因转到了code frist方式,这时候发现用上面那种方式失效了。用反编译工具查看.net源码,发现在DbContext只能识别带有模型的连接字符串,无法动态指定普通的数据库连接字符串。网上搜索无结果。正在绝望的时候,无意间发现了一种方式。

        public static SqliteContext CreateDb()        {            var result = SQLiteProviderFactory.Instance.CreateConnection();            result.ConnectionString = $"data source={Settings.Default.DbPath}";            return new SqliteContext(result);        }

SQLite的EF包里面提供了一种创建DbConnection的方法

 public class SqliteContext:DbContext    {        public SqliteContext(DbConnection connection) : base(connection, true)        {                    }

于是构造一个DbContext并传入这个Connection。这是在查看DbContext构造函数时发现的一种方法。

转载于:https://my.oschina.net/langhuihui/blog/512154

你可能感兴趣的文章
没有JS的前端:体积更小、速度更快!
查看>>
数据指标/表现度量系统(Performance Measurement System)综述
查看>>
GitHub宣布推出Electron 1.0和Devtron,并将提供无限制的私有代码库
查看>>
Angular2, NativeScript 和 React Native比较[翻译]
查看>>
论模式在领域驱动设计中的重要性
查看>>
国内首例:飞步无人卡车携手中国邮政、德邦投入日常运营
查看>>
微软将停止对 IE 8、9和10的支持
查看>>
微服务架构会和分布式单体架构高度重合吗
查看>>
如何测试ASP.NET Core Web API
查看>>
《The Age of Surge》作者访谈
查看>>
测试人员的GitHub
查看>>
Spring Web Services 3.0.4.RELEASE和2.4.3.RELEASE发布
查看>>
有关GitHub仓库分支的几个问题
查看>>
无服务器计算的黑暗面:程序移植没那么容易
查看>>
云原生的浪潮下,为什么运维人员适合学习Go语言?
查看>>
Webpack入门教程三十
查看>>
EAServer 6.1 .NET Client Support
查看>>
锐捷交换机密码恢复(1)
查看>>
Kali linux virtualbox rc=1908 错误解决办法
查看>>
linux软件包管理之三(源代码安装)
查看>>