与CustomObjects级联

时间:2019-04-20 17:49:40

标签: c# mysql dapper

我有两个对象:

public class BaseModule
{
    public long BaseModuleID { get; set; }

    public string ModuleName { get; set; }

    public bool CanOpen { get; set; }

    public bool CanConfigure { get; set; }
}

public class ActiveModule
{
    public long ActiveModuleID { get; set; }

    public long BaseModuleID { get; set; }

    public BaseModule Module { get; set; }
}

BaseModule与ActiveModule对象呈1:1关系,而ActiveModule是BaseModule的包装器。

现在,我想保存ActiveModule,但是它说列BaseModuleID没有默认值。但是在我的对象中是子BaseModule。

我希望可以选择子项的值插入列中。

我在这里错过了什么吗,还是真的不了解在Dapper中如何进行级联?

1 个答案:

答案 0 :(得分:0)

您需要我认为的外键属性:


        public class ActiveModule
        {
            public long ActiveModuleID { get; set; }

            [ForeignKey("Module")]
            public long BaseModuleID { get; set; }

            public BaseModule Module { get; set; }
        }

        public class BaseModule
        {
            public long BaseModuleID { get; set; }

            public bool CanConfigure { get; set; }
            public bool CanOpen { get; set; }
            public string ModuleName { get; set; }
        }