2016-11-03 9 views
1

EFコアは複合型マッピングをサポートしていません。複合型をEFコアにマップする方法はありますか

私は、次のようなオブジェクトを持っていた場合:

public class Entity { 
    public string StringProp {get; set;} 
    public SubEntity NestedEntity {get; set;} 
} 

サブエンティティは次のとおりです。

public class SubEntity{ 
    public int IntProp {get; set;} 
} 

にはどうすればいいStringPropとIntPropの列を持つテーブルにこれをマッピングすることができます。基本的に、テーブルのレコードはEntityとSubEntityの両方のプロパティで構成されています。

SubEntityを無視してエンティティのプロパティを公開しようとしましたが、NestedEntityが無視されたときにそのプロパティを使用しているEntityのプロパティに値がないため動作しません。

複合型のすべてのプロパティまたはデータベースをリファクタリングするクラスを作成する以外の方法はありますか?

答えて

1

関連するすべてのプロパティを含むクラスを使用し、すべての必要なテーブルの列に がマップされることに決めました。 回避策としては問題ありません。 EFコアで複合型をサポートしている場合に更新されます。

+1

回避策として、複雑な/ valuetypeから継承することができます。つまり、少なくともいくつかのクラスでプロパティを使用する場合は、プロパティを複製する必要はありません。 –

関連する問題