gpt4 book ai didi

entity-framework-core - EF Core CosmosDb 不保存继承层次结构的子属性

转载 作者:行者123 更新时间:2023-12-02 04:23:08 25 4
gpt4 key购买 nike

重现步骤

我有一个设置,例如:

public Context : DbContext {
public DbSet<Animal> Animals { get; set; }
}

public class Animal {
public string Color { get; set; }
}

public class Cat : Animal {
public int Lives { get; set; }
}

public class Dog : Animal {
public int Puppies { get; set; }
}

然后我将一只猫和一只狗添加到我的收藏中 (_context.Animals.Add(new Dog() {...});_context.Animals.Add(新猫() {...});

但是,在 CosmosDb 中,ColorLives 属性未保存在 JSON 文档中。有没有办法允许这样做?

谢谢。

更多技术细节

  • EF 核心版本:3.0.0-preview9.19423.6
  • 数据库提供者:Microsoft.EntityFrameworkCore.Cosmos

最佳答案

在 OnModelCreating 方法中添加实体应该可以解决您的问题。

public Context : DbContext 
{
public DbSet<Animal> Animals { get; set; }

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Cat>();
modelBuilder.Entity<Dog>();
}
}

关于entity-framework-core - EF Core CosmosDb 不保存继承层次结构的子属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57817429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com