1

Unit.csファイルがあります

public class Unit
{
    public UnitType UnitTypeState {get;set;}
}

public enum UnitType
{
    Folder = 0,
    Teststeps = 1,
}

列挙型定義をUnitDTOのよ​​うな別のクラスに入れると、次の例外が発生しました。

プロパティ'UnitTypeState'は、タイプ'Unit'で宣言されたプロパティではありません。IgnoreメソッドまたはNotMappedAttributeデータアノテーションを使用して、プロパティがモデルから明示的に除外されていないことを確認します。それが有効なプリミティブプロパティであることを確認してください。

それは真実ではありません。プロパティUnitTypeStateは、Unitクラスクラスで宣言されたプロパティです。

列挙型をUnitクラスに戻さずに修正するにはどうすればよいですか?

アップデート

私はまだバグについていくつかの調査を行っています:

「モデルの作成中はコンテキストを使用できません。」

奇妙なことに、UnitTyeStateプロパティを持つエンティティの親であるエンティティでこの例外が発生しますか?!

using (var context = new ITMS.DataAccess.ITMSContext())
{
   return context.Templates.ToList();
}

テンプレートエンティティが作成されたようですが、この例外がスローされますか?または、EFは次のように動作します。最初のDBアクセスでは、すべてのエンティティまたはモデル全体が作成されますか?

4

2 に答える 2

0

ネストされた型は現在EFでサポートされていません-StructuralType(つまりエンティティ型と複合型)と列挙型の両方に適用されます。

この問題に関するEFワークアイテムへのリンクを追加する:http://entityframework.codeplex.com/workitem/119

于 2013-01-24T23:17:22.650 に答える
0

次を使用してみてください。おそらく、列挙型はプリミティブから派生して機能する必要がありますか?

public enum UnitType : int
{
    Folder = 0,
    Teststeps = 1
}
于 2013-01-25T03:47:04.717 に答える