我已从数据库生成EF上下文。现在我希望所有实体都从基础实体继承,以便我可以通过使用此基本实体来引用所有实体。
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类,但它似乎只能生成继承自基类的实体类。
如何将此基类添加到实体模型以便操作可以正常工作?请建议。
答案 0 :(得分:0)
你能为IRepositoryEntity添加代码吗?我以为应该是BaseEntity?并使你的baseEntity抽象化。
答案 1 :(得分:0)
我能够缩小问题的范围。 DBSet的类型是BaseEntity,我试图使用BaseEntity的DBSet插入一个实体。 EF在抛出此异常时是正确的。这是因为类型BaseEntry返回了Repository。一旦我获得了Type实体的存储库,问题就解决了。