色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

efcore上下文json

錢衛國1年前8瀏覽0評論

Entity Framework Core(EFCore)提供了許多有用的功能,其中之一就是上下文(DbContext)的 JSON 支持。這個功能允許我們將數據存儲為 JSON 對象,而不是傳統的關系型表格形式。

// 創建 DbContext
public class MyDbContext : DbContext
{
public MyDbContext(DbContextOptions options) : base(options)
{
}
// ...
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity()
.Property(p =>p.Attributes)
.HasConversion(
v =>JsonConvert.SerializeObject(v),
v =>JsonConvert.DeserializeObject>(v));
}
}
// 創建實體類
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
public DictionaryAttributes { get; set; }
}
// 將數據保存為 JSON
var product = new Product
{
Name = "iPhone X",
Price = 999,
Attributes = new Dictionary{
{ "color", "black" },
{ "storage", "256GB" },
{ "warranty", true }
}
};
await using var dbContext = new MyDbContext(options);
await dbContext.AddAsync(product);
await dbContext.SaveChangesAsync();
// 獲取 JSON 數據
var products = await dbContext.Products
.Where(p =>p.Attributes.ContainsKey("color") && (string)p.Attributes["color"] == "black")
.ToListAsync();

以上是使用 EFCore 上下文 JSON 的示例代碼。通過使用 HasConversion() 方法,我們可以將 DbContext 中的屬性轉換為 JSON 字符串并保存到數據庫中。此外,我們還可以像普通屬性一樣檢索和過濾 JSON 數據。