便宜上、ネストされた列挙型を持つ参照エンティティがいくつかあります。例えば:
public class StatusA
{
public enum Values
{
Active = 1,
Inactive = 2,
InProgress = 3
}
}
public class StatusB
{
public enum Values
{
Sent = 1,
Accepted = 2,
Expired = 3
}
}
public class EntityA
{
public StatusA.Values Status {get; set;}
}
public class EntityB
{
public StatusB.Values Status {get; set;}
}
モデルの構成時に次の例外が発生します:タイプ 'StatusA+Values' とタイプ 'StatusB+Values' は両方とも 'Values' という単純な名前を持っているため、同じモデルでは使用できません。特定のモデルのすべての型には、一意の単純名が必要です。'NotMappedAttribute' を使用するか、Code First fluent API で Ignore を呼び出して、モデルからプロパティまたは型を明示的に除外します。
それを修正しようとすると、NotMappedAttribute が列挙型に適用されないことがわかりました。流暢な API .Ignore<T>
(enum ではなく ref 型も必要) と.Ignore(IEnumerable<Type>)
も試しましたが、うまくいきませんでした。Google 検索もあまり役に立ちませんでした。
これらの列挙型をモデルから除外する他の方法はありますか?