推荐答案
// www.javascriptcn.com code example
using System;
using System.Linq;
using Microsoft.EntityFrameworkCore;
public class Blog
{
public int BlogId { get; set; }
public string Url { get; set; }
}
public class BloggingContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;");
}
}
public class Program
{
public static void Main()
{
using (var context = new BloggingContext())
{
// Create
var blog = new Blog { Url = "http://example.com" };
context.Blogs.Add(blog);
context.SaveChanges();
// Read
var blogs = context.Blogs.ToList();
foreach (var b in blogs)
{
Console.WriteLine(b.Url);
}
// Update
var blogToUpdate = context.Blogs.First();
blogToUpdate.Url = "http://updated.com";
context.SaveChanges();
// Delete
var blogToDelete = context.Blogs.First();
context.Blogs.Remove(blogToDelete);
context.SaveChanges();
}
}
}本题详细解读
1. 创建实体类
首先,我们需要定义一个实体类 Blog,它代表数据库中的一个表。Blog 类包含两个属性:BlogId 和 Url。
public class Blog
{
public int BlogId { get; set; }
public string Url { get; set; }
}2. 创建数据库上下文
接下来,我们创建一个继承自 DbContext 的类 BloggingContext。这个类包含一个 DbSet<Blog> 属性,用于表示数据库中的 Blogs 表。
// www.javascriptcn.com code example
public class BloggingContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;");
}
}3. 配置数据库连接
在 OnConfiguring 方法中,我们使用 UseSqlServer 方法来配置数据库连接字符串。这里使用的是 SQL Server LocalDB。
4. 执行 CRUD 操作
在 Main 方法中,我们使用 BloggingContext 来执行 CRUD 操作。
Create: 创建一个新的
Blog对象并将其添加到数据库中。var blog = new Blog { Url = "http://example.com" }; context.Blogs.Add(blog); context.SaveChanges();Read: 从数据库中读取所有
Blog记录并打印出来。var blogs = context.Blogs.ToList(); foreach (var b in blogs) { Console.WriteLine(b.Url); }Update: 更新数据库中的第一条
Blog记录。var blogToUpdate = context.Blogs.First(); blogToUpdate.Url = "http://updated.com"; context.SaveChanges();
Delete: 删除数据库中的第一条
Blog记录。var blogToDelete = context.Blogs.First(); context.Blogs.Remove(blogToDelete); context.SaveChanges();
5. 总结
通过以上步骤,我们展示了如何使用 Entity Framework Core 在 C# 中进行基本的 CRUD 操作。Entity Framework Core 提供了强大的 ORM 功能,使得数据库操作更加简单和直观。