[英]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.