EF6+Sqlite连接字符串的动态设置
摘要
在winform中应用sqlite和ef,对于sqlite连接字串的设置,大多情况下是不想写死了,你不知道用户会将你的exe程序安装在什么位置,也不知道他的电脑盘符是什么,如果写死了,那么很有可能出现问题,这时候我们就像如果能动态获取到exe所在的位置,那么再跟进exe的位置,来配置sqlite.db的位置就非常完美了。
解决办法
sqlite连接字符串为我们提供了一个占位符,如下所示的连接字符串
<connectionStrings><add name="testConnStr" connectionString="Data Source=|DataDirectory|\retail.db" providerName="System.Data.SQLite.EF6" /></connectionStrings>
其中|DataDirectory|就类似于占位符的作用,这时候,我们需要在程序启动的时候,指定|DataDirectory|的具体值就可以了,针对winform程序,程序入口就是Program的Main方法,在该方法下添加如下代码,将db所在位置定位到exe所在的目录下就可以了。
string DataDirectory= AppDomain.CurrentDomain.BaseDirectory;AppDomain.CurrentDomain.SetData("DataDirectory", DataDirectory);
经测试,成功解决问题。
转载于:https://www.cnblogs.com/wolf-sun/p/6961588.html
EF6+Sqlite连接字符串的动态设置相关推荐
- [转]web.config保护连接字符串及其它设置信息
[转]web.config保护连接字符串及其它设置信息 本文英文原版及代码下载: http://www.asp.net/learn/data-access/tutorial-73-cs.aspx Sc ...
- php判断版本根据版本调用不同,C#_C#自动判断Excel版本使用不同的连接字符串,用OLEDB通过设置连接字符串可 - phpStudy...
C#自动判断Excel版本使用不同的连接字符串 用OLEDB通过设置连接字符串可以像读取sqlserver一样将excel中的数据读取出来,但是excel2003和excel2007/2010的连接字 ...
- 使用OLE DB方式连接常用数据库的连接字符串的设置
使用OLE DB方式连接常用数据库的连接字符串的设置 SQL Server 使用 OLE DB 所设置的连接字符串: 标准连接方式 Provider=sqloledb;Data Source=data ...
- 如何有效地连接字符串
在Go中, string是基本类型,这意味着它是只读的,并且对它的每次操作都将创建一个新字符串. 因此,如果我想在不知道结果字符串长度的情况下多次连接字符串,那么最好的方法是什么? 天真的方式是: s ...
- connectionstring mysql_Entity Framework 6 自定义连接字符串ConnectionString连接MySQL
在开始介绍之前,首先来看看官方对Entity Framework的解释:Entity Framework (EF) is an object-relational mapper that enable ...
- SQLite连接C#笔记
不得不吐槽,实在是太坑了.以下几点一定要注意: 要下载两个东西,都要上官网.一个是SQLite for Windows,一个是System.Data.SQLite. 下载下来的DLL里面有个test, ...
- WIN7远程桌面连接方法!远程控制教程!XP远程桌面连接教程!如何设置远程桌面连接?远程桌面连接设置...
WIN7远程桌面连接方法! 首先,我们要在被连接的计算机上进行设置.使用鼠标右键单击"计算机"图标,选择"属性" 在打开的"系统"窗口点击& ...
- vs mysql连接字符串_vs连接数据库字符串
VS2010连接SQLSERVER2008数据库的步骤 1.在要连接数据库的类中使用using namespace System::Data::SqlClient; 将类型引入 2.定义一个连接对象, ...
- vs mysql连接字符串_vs 数据库连接字符串
VS2010连接SQLSERVER2008数据库的步骤 1.在要连接数据库的类中使用using namespace System::Data::SqlClient; 将类型引入 2.定义一个连接对象, ...
最新文章
- linux软中断分析,linux操作系统下的软中断问题分析_linux教程
- optee内存管理和页表建立
- ajax如何给label赋值,如何让AjaxEditableLabel显示TextField?
- C++一级与二级指针基础详解
- 「我去,这也能行!」令人惊叹的8个深度学习应用
- 中小型网站 seo 优化推广策略
- matlab画滤波器频响应,matlab如何画出“凯泽窗FIR滤波器”的幅频相频响应图
- 怎样获取php页面get的值,PHP循环获取GET和POST值的代码
- 流量少怎么办?先考虑下面四项
- LOAM: Lidar Odometry and Mapping in Real-time
- DEVC编译器快捷键大全
- LCD1602中文资料
- Google搜索 - 世界各国Google网址大全
- DSN格式转SCH格式
- 冯·诺依曼,天才中的天才
- 3D数据基础——向量介绍与3D向量类的实现
- STAR法则修改简历
- Android Studio 依赖Moudle
- 基于matlab的脑瘤mr图像处理_MRI(脑肿瘤)图像处理与分割、颅骨切除
- switch case之合并case
热门文章
- Delphi LiveBinds组件
- 一个简单的适用于Vue的下拉刷新,触底加载组件
- java基础:13.2 集合框架 - LinkedList、Queue
- The log scan number (620023:3702:1) passed to log scan in database 'xxxx' is not valid
- 100个常用的Linux命令
- 【原创】从罗胖子关于开会的议题说开去
- CWnd的派生类-1、CFrameWnd类
- ngram模型中文语料实验step by step(3)-ngram模型的光滑处理
- 列表与元组——Python基础语法
- 造成物联卡那么火爆的原因是什么