1

本文档: 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 中)

非常感谢您的任何想法和帮助!

最好的问候,法比亚努斯

4

0 回答 0