在ASP.Net Core中,可以使用Entity Framework Core来将列表属性保存到DbContext中。
下面是一个示例代码,演示了如何创建模型类和DbContext,并在数据库中保存列表属性的值:
// 模型类
public class MyEntity
{
public int Id { get; set; }
public List MyList { get; set; }
}
// DbContext
public class MyDbContext : DbContext
{
public DbSet MyEntities { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity()
.Property(e => e.MyList)
.HasConversion(
v => string.Join(',', v),
v => v.Split(',', StringSplitOptions.None).ToList());
}
}
// 在控制器中添加数据
public class HomeController : Controller
{
private readonly MyDbContext _dbContext;
public HomeController(MyDbContext dbContext)
{
_dbContext = dbContext;
}
public IActionResult Index()
{
var entity = new MyEntity { MyList = new List { "A", "B", "C" } };
_dbContext.MyEntities.Add(entity);
_dbContext.SaveChanges();
return View();
}
}
在上面的示例代码中,我们先定义一个模型类MyEntity,其中包含一个名为MyList的列表属性。然后,我们创建了一个名为MyDbContext的DbContext,并在OnModelCreating方法中映射列表属性MyList为数据库中的一个字符串类型。
最后,我们在控制器中创建一个MyEntity实例,并将其添加到MyDbContext中。保存更改后,MyEntity的列表属性MyList的值将被保存到数据库中。
这就是如何在ASP.Net Core中将列表属性保存到DbContext的示例。