ef核心2将sql表拆分为拥有的类型-不需要这个

时间:2018-12-24 09:06:39

标签: ef-core-2.2

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

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

最好的问候, 法比安努斯

0 个答案:

没有答案