0

別のクラスにネストされたクラスがあります。

public class InnerClass
{
    public string InnerProp1 { get; set; }
    public string InnerProp2 { get; set; }
}

public class OuterClass
{
    public string OuterProp1 { get; set; }
    public string OuterProp2 { get; set; }
    public InnerObject InnerClass { get; set; }
}

そして、それをこのテーブルにマップしたい:

CREATE TABLE FlatTable
(
    OuterProp1 VARCHAR(20),
    OuterProp2 VARCHAR(20),
    InnerProp1 VARCHAR(20),
    InnerProp2 VARCHAR(20),
)

単純なマッピングを試しました

Property(x => x.OuterProp1);
Property(x => x.OuterProp2);
Property(x => x.InnerObject.InnerProp1);
Property(x => x.InnerObject.InnerProp2);

そして、これはnullArgumentNullExceptionが原因であると思われる a で失敗します。x.InnerObject

このマッピングを作成するにはどうすればよいですか?

4

1 に答える 1

2

コンポーネントの使用

Property(x => x.OuterProp1);
Property(x => x.OuterProp2);
Component(
    x => x.InnerClass,
    comp =>
    {
        comp.Property(x => x.InnerProp1);
        comp.Property(x => x.InnerProp2);
    });
于 2013-10-23T06:29:08.427 に答える