1

Entity Framework 5 RTM Code First についてです。

既存の列挙型を持つエンティティをマップすると、次のエラーが発生します。

概念型 '[FULL ENUM TYPE NAME]' に対応するオブジェクト レイヤー タイプが見つかりませんでした

実際には、の同じ名前空間で列挙型全体を探しますDbContext

他の質問 ( Using Enums with Code First & Entity Framework 5 ) には、これを機能させる方法に関するハウツーがあるブログ投稿を指す回答がありましたが、データベースファースト/モデルファーストのアプローチについて話しています。

Code-First アプローチを使用して EDM 列挙型を追加するにはどうすればよいですか?

4

1 に答える 1

1

残念ながら、現時点では不可能です。EF5 http://entityframework.codeplex.com/workitem/532には既知のバグがあり、前述のエラーが発生しています。

私は同様の問題に苦しんでいましたが、エレガントな解決策が見つかりませんでした。int列挙列ではなく列になりました。

編集(問題のあるモデル):

コア アセンブリ:

public enum UserStatus { Approved, Disabled }

public interface IUser {
    public int ID { get; }
    public string Username { get; set;}
    public UserStatus Status { get; set;}
}

ユーザーの組み立て:

public class User : IUser {
    public int ID { get; protected set; }
    public string Username { get; set; }
    public UserStatus Status { get; set; }
}
于 2012-11-23T23:50:44.277 に答える