














install-package Microsoft.EntityFrameworkCore
install-package EntityFrameworkCore.Sqlite
install-package Microsoft.EntityFrameworkCore.Sqlite.Design
install-package Microsoft.EntityFrameworkCore.Tools
using System.ComponentModel.DataAnnotations;
namespace EFCoreQuickStart.Models
{
public class Book
{
[Key]
public int BookId { get; set; }
public string Text { get; set; }
}
}
using Microsoft.EntityFrameworkCore;
namespace EFCoreQuickStart.Models
{
public class BookDbContext : DbContext
{
public DbSet<Book> Books { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite("Data Source=books.db");
}
}
}
(系统不会自动生成数据库,因此需要通过迁移命令来创建数据库文件)
Add-Migration InitalCreate
Update-Database
using EFCoreQuickStart.Models;
using Microsoft.EntityFrameworkCore;
namespace EFCoreQuickStart
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
using (var db = new BookDbContext()) {
Console.WriteLine("插入一条记录");
db.Books.Add(new Book() { Text = "C#高级编程" } );
Console.WriteLine("成功插入一条记录");
try {
db.SaveChanges();
}
catch (DbUpdateException ex)
{
Console.WriteLine(ex.InnerException?.Message);
}
//查询
Console.WriteLine("查询所有记录");
var model = db.Books
.OrderBy(b => b.BookId)
.First();
Console.WriteLine(model.Text);
//更新
Console.WriteLine("更新一条记录");
model.Text = "C#高级编程(第10版)";
db.SaveChanges();
Console.WriteLine("更新成功!");
}
}
}
}
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。