2

便宜上、ネストされた列挙型を持つ参照エンティティがいくつかあります。例えば:

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 検索もあまり役に立ちませんでした。

これらの列挙型をモデルから除外する他の方法はありますか?

4

1 に答える 1