【问题标题】:Connection string for using SQLite with ASP.Net MVC5用于将 SQLite 与 ASP.Net MVC5 一起使用的连接字符串
【发布时间】:2017-10-28 19:42:59
【问题描述】:

我正在做一个需要与数据库交互的项目。因此,我想在我的 ASP.NET MVC 5 项目中使用 SQLite。

我发现一些博客和网站展示了从 ASP.NET MVC 附加 SQLite 所需的一些连接字符串,但这些都是非常老式的(大约 6 年的历史)。

所以,我的问题是:web.config 中需要什么连接字符串才能将 SQLite 数据库文件附加到我的 ASP.NET MVC 5 应用程序?

另外,将 SQLite 与 ASP.NET MVC 5 应用程序连接的先决条件是什么?

【问题讨论】:

  • 基本上 C# 本身不支持 Sqlite,所以我们需要第三方 DLL 来连接(Sqlite 数据库)[c-sharpcorner.com/UploadFile/5d065a/….
  • 那么为什么只使用 sql lite..为什么不使用 inuilt sql express
  • 我不想附加 SQL Server、Express 或 LocalDB。因为我的客户可能想在他的本地服务器上部署这个应用程序。将来控制和配置 Express 或其他任何一个对他来说将是一个有问题的情况。 SQLite 不需要任何安装、配置和其他任何东西。
  • asp.net 应用的目标平台是什么? Win、MacOS 还是 linux?
  • 它可以更改,但大多数情况下它将在 Windows 上运行。

标签: asp.net asp.net-mvc sqlite asp.net-mvc-5


【解决方案1】:

对于asp.net core 2.0。修改todo web-api 示例https://docs.microsoft.com/aspnet/core/tutorials/first-web-api#create-the-project。详尽的描述,会很大,但应该包含要完成的主要项目。

*。在文件appsettings.json 中添加条目

"ConnectionStrings": {
            "DefaultConnection": "Data Source=mydb.sqlite"
           }

*。在Startup.cs 修改方法ConfigureServices(IServiceCollection services)

public void ConfigureServices(IServiceCollection services)
{
   ConfigurationBuilder builder = new ConfigurationBuilder();
   builder.SetBasePath(Directory.GetCurrentDirectory())
          .AddJsonFile("appsettings.json");

   Configuration = builder.Build();
   string ConnectionStr = Configuration.GetConnectionString("DefaultConnection");
   services.AddDbContext<TodoContext>(options => options.UseSqlite(ConnectionStr));
   SQLitePCL.Batteries.Init();

   services.AddMvc();
}

*。在Startup.cs部分using添加

using Microsoft.Data.Sqlite;
using SQLitePCL;

【讨论】:

  • 好的,这可能是为 Core 应用程序添加 SQLite 的正确方法,我还在一些网站上找到了一些关于 Core 1 和 Core 2 的示例。但我目前没有使用 Core。我的问题是将 SQLite 与 MVC 5 连接。不将它与 Core 连接。
  • 太棒了。我不知道与 MVC 5 相比有什么区别,但最新版本使用的是 net core 2.0。该解决方案的一些收获可能是,Sqlite 已集成并与 asp.net 框架一起使用。所以也许是某种类型的向后迁移的一些起点。
  • 即使有答案集,也有可能添加更多答案。因此,我设法使用 MVC 5 设置 Sqlite,然后可以使用更多 MVC 5 特定答案进行升级。
  • 这意味着没有任何方法可以将 SQlite 与 MVC 5 连接...???你说什么……???
  • 我不知道,但是 SO 上的 asp.net 和 sqlite 似乎没有那么高的流量。也许更多点击例如forums.asp.net
猜你喜欢
  • 2019-04-22
  • 2017-03-14
  • 1970-01-01
  • 1970-01-01
  • 2020-10-05
  • 2018-03-05
  • 1970-01-01
  • 2015-11-24
  • 2011-04-03
相关资源
最近更新 更多