• 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

  • 相关阅读:
    获取系统版本
    一句代码删除所有子视图
    MAJOR-MINOR-MKDEV
    AF_UNIX和AF_INET域的socket在epoll中的差异
    python-print
    python-class(5)
    python-class(4)
    python-class(3)
    python-class(2)
    python-class(1)
  • 原文地址:https://www.cnblogs.com/wolf-sun/p/7281228.html
Copyright © 2020-2023  润新知