2017-10-28 231 views
0

我是ASP.Net的新手,在项目上工作需要与数据库进行小型交互。因此,我想在我的ASP.NET MVC 5项目中使用SQLite。使用SQLite与ASP.Net的连接字符串MVC5

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

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

此外,将SQLite附加到ASP.NET MVC 5应用程序的先决条件是什么?

在此先感谢

+0

基本上C#不支持sqlite的本身,所以我们需要一个第三方的DLL连接到(SQLite数据库)http://www.c-sharpcorner.com/UploadFile/ 5d065a /如何使用的和 - 连接 - 源码功能于一个窗口的应用程序/]。 –

+0

为什么只是sql lite ..为什么不是inuilt sql express –

+0

我不想附加SQL Server,Express或LocalDB。因为我的客户可能想在本地服务器上部署此应用程序。对于他来说,控制和配置Express或其他任何其他人将会是一个有问题的情况。 SQLite不需要任何安装,配置和其他任何东西。 –

回答

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; 
+0

好吧,这可能是为核心应用程序添加SQLite的正确方式,我也在一些网站上找到了关于Core 1和Core 2的一些例子。但是我现在不使用Core。我的问题是连接SQLite与MVC 5.不连接它与核心。 –

+0

太好了。我不知道与MVC 5相比有什么不同,但是使用了net core 2.0作为最新版本。一些人认为这个解决方案可能是,Sqlite是集成的并且可以与asp.net框架一起工作。所以也许有些类型的向后迁移的起点。 –

+0

是的,这个解决方案应该这样做... –