簡體   English   中英

如何在PetaPoco中使用SQLite

[英]How to use SQLite with PetaPoco

我嘗試在MVC5上將PetaPoco與SQLite一起使用。 我創建了一個模型來進行映射。

namespace LittleDemo.Models.UserModel
{
    [PetaPoco.TableName("User")]
    [PetaPoco.PrimaryKey("UserId", AutoIncrement = true)]
    public class User
    {
        [Column]
        public int UserId { get; set; }

        [Column]
        public string Name { get; set; }
    }
}

然后我創建一個控制器文件

public ActionResult UserView()
        {
            ViewBag.Message = "Your User page.";

            var dbUser = new PetaPoco.Database("sqlite");

            var userA = new User {Name = "A"};
            dbUser.Save(userA);
            return View();
        }

創建數據庫並放入一些數據。然后創建一個視圖以顯示所有數據列表。 但返回錯誤消息“未找到用戶表”。 如何使用PetaPoco分配表。

我花了很多時間使它正常工作,但我什么也沒發現。

您可以使用https://github.com/schotime/NPoco實現相同的目標

Nuget可以在這里https://www.nuget.org/packages/NPoco/

您需要做一些工作才能使其正常工作。

打開app.config / web.config

第1步:

安裝https://www.nuget.org/packages/NPoco/

第2步:

  <system.data>
  <DbProviderFactories>
  <remove invariant="System.Data.SQLite.EF6" />
  <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
  <remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
  </DbProviderFactories>
  </system.data>

第三步:

<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source = C:\db\test.db;" providerName="System.Data.SQLite" />
</connectionStrings>

第四步:

 public class User
{
    public int Id { get; set; }
    public string Email { get; set; }
}

static void Main(string[] args)
{
   var config = ConfigurationManager.ConnectionStrings["DefaultConnection"];
   var db = new MyDb(config.ConnectionString, config.ProviderName);
   List<User> users = db.Fetch<User>(string.Empty);
   Console.WriteLine(users.Count);
}

public class MyDb : NPoco.Database
{
    public MyDb()
        : base("DefaultConnection")
    {
    }

    public MyDb(string connectionString, string providerName)
        : base(connectionString, providerName)
    {
    }
}

參考: https : //github.com/venkata-ramana/SQLiteSample

讓我知道您是否有任何疑問,謝謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM