zoukankan      html  css  js  c++  java
  • EF6+Sqlite连接字符串的动态设置

    摘要

    在winform中应用sqlite和ef,对于sqlite连接字串的设置,大多情况下是不想写死了,你不知道用户会将你的exe程序安装在什么位置,也不知道他的电脑盘符是什么,如果写死了,那么很有可能出现问题,这时候我们就像如果能动态获取到exe所在的位置,那么再跟进exe的位置,来配置sqlite.db的位置就非常完美了。

    解决办法

    sqlite连接字符串为我们提供了一个占位符,如下所示的连接字符串

      <connectionStrings>
        <add name="testConnStr" connectionString="Data Source=|DataDirectory|
    etail.db" providerName="System.Data.SQLite.EF6" />
      </connectionStrings>

    其中|DataDirectory|就类似于占位符的作用,这时候,我们需要在程序启动的时候,指定|DataDirectory|的具体值就可以了,针对winform程序,程序入口就是Program的Main方法,在该方法下添加如下代码,将db所在位置定位到exe所在的目录下就可以了。

      string DataDirectory= AppDomain.CurrentDomain.BaseDirectory;
                AppDomain.CurrentDomain.SetData("DataDirectory", DataDirectory);

    经测试,成功解决问题。

  • 相关阅读:
    OpenStack local.conf
    Murano Weekly Meeting 2015.07.21
    Python package和folder
    WSGI学习系列eventlet.wsgi
    OpenStack Weekly Rank 2015.07.20
    Eventlet Greenlet
    OpenStack Weekly Meeting 2015.07.17
    OpenStack创建实例错误解决方法
    Linux Shell命令系列(5) VI编辑器
    linux统计使用最多的10个命令
  • 原文地址:https://www.cnblogs.com/wolf-sun/p/6961588.html
Copyright © 2011-2022 走看看