.netframwork4.8 ef 使用sqlite数据据库
在.NET Framework 4.8中使用Entity Framework (EF) 与SQLite数据库,首先需要安装以下NuGet包:
System.Data.SQLite.Core
- SQLite的ADO.NET提供程序。EntityFramework6.NuGet
- Entity Framework 6的ADO.NET提供程序。EntityFramework
- Entity Framework的核心库。
以下是一个简单的例子,展示如何定义模型和上下文:
- 定义模型:
public class Blog
{
public int BlogId { get; set; }
public string Url { get; set; }
public List<Post> Posts { get; set; }
}
public class Post
{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public int BlogId { get; set; }
public Blog Blog { get; set; }
}
- 定义数据库上下文:
public class BloggingContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
public DbSet<Post> Posts { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSQLite("Data Source=blogging.db");
}
}
- 使用上下文进行数据操作:
class Program
{
static void Main(string[] args)
{
using (var context = new BloggingContext())
{
context.Blogs.Add(new Blog { Url = "http://sample.com" });
context.SaveChanges();
var blogs = context.Blogs.ToList();
foreach (var blog in blogs)
{
Console.WriteLine(blog.Url);
}
}
}
}
确保在项目中添加了对这些NuGet包的引用,并且在app.config
或web.config
中配置了SQLite提供程序。
<configuration>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
<add name="SQLite Data Provider" invariant="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
</DbProviderFactories>
</system.data>
</configuration>
以上代码展示了如何在.NET Framework 4.8环境中使用Entity Framework 6(因为.NET Framework 4.8支持的是Entity Framework 6,而不是Entity Framework Core)与SQLite数据库进行交互。
评论已关闭