データベースからEFコンテキストを生成しました。今私は、すべてのエンティティをベースエンティティから継承して、このベースエンティティを使用してすべてのエンティティを参照できるようにします。EF6自動生成モデルにベースクラス/インターフェイスを追加する方法
Public Partial Class Lookup : BaseEntity
{
}
私が使用しようとしていますたびに、DbSet.Add(エンティティ)
public class GenericRepository<T> : IRepository<T> where T:IRepositoryEntity
{
#region Private member variables...
internal March2016Entities Context;
internal DbSet<T> DbSet;
#endregion
#region Public Constructor...
/// <summary>
/// Public Constructor,initializes privately declared local variables.
/// </summary>
/// <param name="context"></param>
public GenericRepository(March2016Entities context)
{
this.Context = context;
this.DbSet = context.Set<T>();
}
/// <summary>
/// generic Insert method for the entities
/// </summary>
/// <param name="entity"></param>
public void Insert(T entity)
{
DbSet.Add(entity);
}
}
それはBaseEntityはEFモデルの一部ではないと言います。私はContext.TTクラスを修正しようとしましたが、基本クラスを継承するエンティティクラスを生成するのに役立つようです。
オペレーションが機能するように、このベースクラスをエンティティモデルに追加するにはどうすればよいですか?提案してください。
あなたがしようとしていることは問題ありません。おそらく、あなたはDbSetにBaseEntityを作成/追加しています(そうすることはできません)。それを抽象的なものにしてプロジェクトをコンパイルして、どこで作業しているかを確認してください。 – bubi
例外をスローしている正確なコード行を追加しました。 DBSet.Add(Lookupエンティティ)を実行すると、エラーがスローされます。 – rohit
DBSet宣言も表示できますか? – Domysee