c# - EF Core - 导航和属性包
问题描述
EF Core 是否支持属性包实体上的导航或指向属性包实体的实体上的导航?
有这堂课
public class PropertyBagEntityDetail
{
public string StringProperty { get; set; }
public Dictionary<string, object> Parent { get; set; }
}
我试过这个:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.SharedTypeEntity<Dictionary<string, object>>("PropertyBagEntity", bb =>
{
bb.Property<int>("IntProperty");
bb.Property<string>("StringProperty");
bb.Property<DateTime>("DateTimeProperty");
});
modelBuilder.Entity<PropertyBagEntityDetail>().HasOne(itm => itm.Parent).WithMany();
}
或这个 :
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.SharedTypeEntity<Dictionary<string, object>>("PropertyBagEntity", bb =>
{
bb.Property<int>("IntProperty");
bb.Property<string>("StringProperty");
bb.Property<DateTime>("DateTimeProperty");
bb.HasMany<PropertyBagEntityDetail>("Details").WithOne(itm=>itm.Parent);
});
}
两者都返回
导航“详细信息”无法添加到实体类型“PropertyBagEntity (Dictionary<string, object>)”,因为基础类型上没有相应的 CLR 属性,并且导航属性无法在影子状态下添加。
有没有办法实现?
解决方案
推荐阅读
- python - 使用 Pandas 更改 Excel 中特定单元格中字符串的对齐方式
- html - 引导导航选项卡的字体颜色在活动状态下没有变化
- python - 将“填充”与另一个痕迹一起隐藏[链接痕迹?!]
- bash - 从 shell 脚本执行 Vim 命令
- python - python selenium chrome 从“Frames”下载项目
- flutter - Dart/Flutter 的类似 Python 装饰器的设计模式?
- swiftui - 如何在 View 和 Sheet 之间进行 MatchedGeometryEffect?
- docker-build - golang应用程序的多阶段docker构建找不到.env文件
- jquery-ui-autocomplete - 如何将 JSON 多维数组转换为自动完成列表的 javascript 函数以及如何将选定的列表数组值分配给输入类型
- file-upload - 如何使用 url 读取存储在 Azure 存储中的图像