我尝试在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分配表格。
答案 0 :(得分:0)
我投入了大量时间让它发挥作用,但我一无所获。
您可以使用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>
第3步:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source = C:\db\test.db;" providerName="System.Data.SQLite" />
</connectionStrings>
第4步:
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
如果您有任何疑问,请告诉我,谢谢。