本文档: 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 中)
非常感谢您的任何想法和帮助!
最好的问候,法比亚努斯