【问题标题】:How do I reference the Sqlite db file in the App_Data folder for my ASP.NET Web Application?如何为我的 ASP.NET Web 应用程序引用 App_Data 文件夹中的 Sqlite db 文件?
【发布时间】:2010-11-28 02:52:48
【问题描述】:

我目前根据 ASP.NET 最佳模式和实践将我的 sqlite db 文件存储在 App_Data 文件夹中。

目前我在 webconfig 中使用以下内容:

  <connectionStrings>
    <add name="sqlite"  
         connectionString="Data Source=|DataDirectory|MyDB; Version=3;" />
  </connectionStrings>

以及以下代码:

       public SqliteDAO(string path)
        {
            Connection = new System.Data.SQLite.SQLiteConnection(path );
        }

//...

//where path = |DataDirectory|MyDB

它会导致 sqlite 创建一个新数据库(其中没有表),因此我的数据访问调用都不起作用,因为它们没有找到表名。如何从我的 WebApplication 代码中引用 App_Data 文件夹中的 sqlite db 文件??

谢谢!

【问题讨论】:

    标签: c# asp.net sqlite data-access-layer appdata


    【解决方案1】:

    将 Server.MapPath 用于您的 db 文件。所以会是这样的

    Server.MapPath(@"~\App_Data\Your.db");
    

    【讨论】:

    • 这可能是一个愚蠢的问题,但是你将如何从一个不是“CodeBehind”文件的文件中做到这一点,你没有服务器对象?您是否必须传递服务器对象或代码隐藏文件中的路径?
    • @kdmurray - 你可以使用这个方法:msdn.microsoft.com/en-us/library/…
    • 谢谢本。通过将 HttpContext 对象传递给另一个类,我自己也设法找到了解决方案: MyClass c = new MyClass(); c.myFunc(this.Context);
    • @kdmurray,有点晚了,但是如果您在 asp.net 中工作并且不需要传递它,您总是可以使用静态 System.Web.HttpContext.Current 对象。
    猜你喜欢
    • 1970-01-01
    • 2020-08-25
    • 1970-01-01
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    • 2014-12-25
    • 1970-01-01
    • 2012-02-10
    相关资源
    最近更新 更多