-1

汎用リポジトリを生成しようとしています。ここまでは順調ですね。しかし、他の誰かが以前に投稿したのと同じエラーが表示されます: ネストされたクラスへのマッピング

問題は、ネストされたクラスをマップしようとしているようです。ネストされたクラスをマップしないようにするにはどうすればよいですか?

編集:それは問題ではないはずです。

namespace MvcApplication1.Models
{
    public class MyContext :DbContext
    {

        public DbSet<ALBUM> Albums { get; set; }
        ...
}
}

たとえば、ALBUM:

[EdmEntityTypeAttribute(NamespaceName="MyDbModel", Name="ALBUM")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class ALBUM : EntityObject

クラス ALBUM のマッピングが許可されていないのはなぜですか?

4

2 に答える 2

4

これは、表示されるエラー メッセージです。

System.InvalidOperationException: タイプ 'ContactModels+Contact' はマップされませんでした。Ignore メソッドまたは NotMappedAttribute データ注釈を使用して、型が明示的に除外されていないことを確認してください。型がクラスとして定義されていること、プリミティブ、ネスト、またはジェネリックではないこと、および EntityObject から継承されていないことを確認してください。

そして、これはあなたがマップしようとしているクラスです:

[EdmEntityTypeAttribute(NamespaceName="MyDbModel", Name="ALBUM")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class ALBUM : EntityObject

から継承していEntityObjectます。そこに書いてあります。マッピングできません。

于 2012-05-30T20:53:37.233 に答える
1

ネストされているとは、クラス内にクラスがあることを意味し、ネストされたクラスを抽出するだけです。

おそらく次のようなものがあります。

public class SampleClass
{
      public class NestedClass
      {
      }
}

次のように変更します。

public class SampleClass
{}

public class NotNestedClass
{}
于 2012-05-30T20:31:11.783 に答える