• 数据库连接字符串中的|DataDirectory|


    在配置文件中配置数据库连接字符串经常会用到|DataDirectory|,如下:

    <connectionStrings>
        <add name="ConnectionString" connectionString="data source=.;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|	est.mdf;" providerName="System.Data.SqlClient" />
    </connectionStrings>

    (注:DataDirectory 仅能应指定在路径的开头,放在任何其他位置将得不到解析。 如 |DataDirectory| est.mdf被解析为 项目根目录App_Data est.mdf,

               而data|DataDirectory|  est.mdf 则视为物理路径,不会对|DataDirectory|做解析

    |DataDirectory| 在WebForm项目下默认为 项目根目录app_data 文件夹,在winform和控制台项目下,则为 项目根目录indebug 或 项目根目录in elease 文件夹

    实际开发过程中,一般会把数据库文件放在项目根目录下或者项目根目录下的某个文件夹中,在winform和控制台项目下,可以通过:

    AppDomain.CurrentDomain.setData(“DataDirectory”,我的目录字符串) 来自定义|DataDirectory|的对应路径。

    代码示例如下:

    static void Main(string[] args)
    {
          string p = AppDomain.CurrentDomain.BaseDirectory;
          if (p.IndexOf("\bin\") > 0)
          {
              if (p.EndsWith("\bin\Debug\"))
                  p = p.Replace("\bin\Debug", "");
              if (p.EndsWith("\bin\Release\"))
                  p = p.Replace("\bin\Release", "");
          }
          if (!p.EndsWith("App_Data\"))
              p = p + "App_Data\";
          AppDomain.CurrentDomain.SetData("DataDirectory", p);
          
    }

    参考:https://docs.microsoft.com/zh-cn/dotnet/framework/data/adonet/ef/connection-strings

               https://www.cnblogs.com/jhxk/articles/2583680.html

  • 相关阅读:
    【Python】异常处理
    【Python】写入文件
    【Python】从文件中读取数据
    【Python】导入类
    【Python】继承
    【Python】使用类和实例
    SQL HAVING
    SQL GROUP BY
    SQL ORDER BY
    SQL CREATE INDEX
  • 原文地址:https://www.cnblogs.com/lucky-donkey/p/13945784.html
Copyright © 2020-2023  润新知