此文档: https://docs.microsoft.com/de-de/ef/core/modeling/owned-entities
...说: “使用关系数据库时,按照惯例,引用拥有的类型将映射到与所有者相同的表。”
但是在我的情况下不是-拥有的类型存储在单独的表中!
这是我的情况:
public class OwnerClass
{
public int Id { get; set; }
public OwnedClass OwnedClass { get; set; }
}
[Owned]
public class OwnedClass
{
public string FirstProperty { get; set; }
public int SecondProperty { get; set; }
}
并产生以下结果:
modelBuilder.Entity("Myapp.Models.OwnerClass", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd();
b.HasKey("Id");
b.ToTable("OwnerClass");
});
modelBuilder.Entity("Myapp.Models.OwnerClass", b =>
{
b.OwnsOne("Myapp.Models.OwnedClass", "OwnedClass", b1 =>
{
b1.Property<int>("OwnerClassId");
b1.Property<string>("FirstProperty");
b1.Property<int>("SecondProperty");
b1.HasKey("OwnerClassId");
b1.ToTable("OwnedClass");
b1.HasOne("Myapp.Models.OwnerClass")
.WithOne("OwnedClass")
.HasForeignKey("Myapp.Models.OwnedClass", "OwnerClassId")
.OnDelete(DeleteBehavior.Cascade);
});
});
我的配置:
netcoreapp2.2
和
(用于存储在mysql中)
非常感谢任何想法和帮助!
最好的问候, 法比安努斯