2016-08-25 7 views
4

私はEFコードファーストデータベースをセットアップしましたが、派生プロパティを追加します。 (そう、それはビューモデルでなければならない、私たちは別の時にこのように議論することができます。)私は実際のテーブルクラスを拡張する部分クラスを作成しました。 [NotMapped]を新しい部分に追加すると、そこに追加する追加のプロパティをマッピングしたり、クラス全体に適用したりすることはありませんか?[NotMapped]を部分クラスに追加すると、クラス全体のマッピングが回避されますか?

答えて

6

これはクラス全体に適用されます。部分クラスは、単にクラスを複数のファイルに分割する方法です。 official docs

コンパイル時に、部分型定義の属性がマージされます。

ので、この:

[SomeAttribute] 
partial class PartialEntity 
{ 
    public string Title { get; set; } 
} 

[AnotherAttribute] 
partial class PartialEntity 
{ 
    public string Name { get; set; } 
} 

は書き込みに相当します。

[SomeAttribute] 
[AnotherAttribute] 
partial class PartialEntity 
{ 
    public string Title { get; set; } 
    public string Name { get; set; } 
} 

あなたがモデルに含まれた特性を有することなく、部分クラスを追加したい場合は、あなたが追加する必要があります個々のアイテムのNotMapped属性:

partial class PartialEntity 
{ 
    public string Title { get; set; } 
} 

partial class PartialEntity 
{ 
    [NotMapped] 
    public string Name { get; set; } 
} 
関連する問題