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

    摘要

    在做c/s项目的时候,如果使用ef+sqlite,我们不知道客户端会安装在哪里,需要动态的来设置db所在路径。

    解决办法

        /// <summary>
        /// 数据上下文
        /// </summary>
        public class MyContext : DbContext
        {
            
            public MyContext ()
                : base(new SQLiteConnection(@"Data Source=C:UserswolfyAppDataLocalclientdatamy.db;"),false)
            {
    
            }
           
        }

    这里有必要提一下另外一种设置的方式

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

    可以在程序中对DataDirectory进行设置

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

    发现这种方式,设置在exe所在目录下起作用,但改变目录好像就失效了。猜测,sqlite查找数据库文件的方式,应该是默认从exe所在目录进行查找的。

    参考

    http://www.cnblogs.com/liuguangyin/p/6572734.html

  • 相关阅读:
    计算机网络基础
    ansible
    CDH集群日常
    漏洞挖掘学习
    JDWP
    开源安全项目调研
    SMB漏洞汇总
    Windows账户LM/NTLM
    SMB知识汇总
    Memcache未授权漏洞
  • 原文地址:https://www.cnblogs.com/wolf-sun/p/7281228.html
Copyright © 2011-2022 走看看