EF Core 8/9是否支持Owned record struct及其集合?编译报错咨询
EF Core 8/9不支持record struct作为拥有类型的集合元素
你的操作没有问题,EF Core 8和9确实不支持值类型(包括record struct)作为OwnsMany的集合元素。
原因分析
编译报错CS0452明确指出:OwnedNavigationBuilder<ComplexEntity, Interests>.OwnsMany方法的泛型参数TNewDependentEntity必须是引用类型。而record struct属于值类型,不满足该方法的类型约束,因此编译失败。
验证与解决
将Topic改为record class(引用类型)后代码正常运行,这直接印证了框架的约束——只有引用类型才能被映射为OwnsMany的集合元素。
补充说明
EF Core的拥有类型(Owned Types)设计中,集合型依赖实体仅支持引用类型,值类型无法作为OwnsMany的目标类型,这是框架本身的限制,并非代码实现错误。
内容的提问来源于stack exchange,提问作者Valo
相关产品推荐
相关产品推荐

