DbContext.Add() 和 DbContext.DbSet
csharppublic virtual EntityEntry Add(object entity);使用DbContext.Add()方法时,我们只需要将要添加的实体对象作为参数传递给该方法即可。例如,我们有一个名为"Product"的实体类,我们可以这样使用DbContext.Add()方法将一个Product对象添加到数据库上下文:
csharpProduct product = new Product { Name = "Apple", Price = 1.99 };context.Add(product);DbContext.DbSet
csharppublic virtual EntityEntry使用DbContext.DbSetAdd(TEntity entity);
csharpProduct product = new Product { Name = "Apple", Price = 1.99 };context.Products.Add(product);使用场景在大多数情况下,我们可以选择使用DbContext.Add()方法或者DbContext.DbSet
csharpusing System;using Microsoft.EntityFrameworkCore;namespace EFCoreExample{ public class Product { public int Id { get; set; } public string Name { get; set; } public decimal Price { get; set; } } public class AppDbContext : DbContext { public DbSet在上面的示例中,我们创建了一个简单的实体类Product和一个继承自DbContext的数据库上下文类AppDbContext。在Main()方法中,我们分别使用DbContext.Add()方法和DbContext.DbSetProducts { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlServer("your_connection_string"); } } public class Program { public static void Main(string[] args) { using (var context = new AppDbContext()) { // 使用DbContext.Add()方法将实体对象添加到数据库上下文 Product product1 = new Product { Name = "Apple", Price = 1.99 }; context.Add(product1); // 使用DbContext.DbSet .Add(TEntity)方法将实体对象添加到数据库上下文 DbSet products = context.Set (); Product product2 = new Product { Name = "Orange", Price = 2.99 }; products.Add(product2); context.SaveChanges(); } } }}