我的数据库中有这两个表,并且正在为此示例使用实体框架
我定义了以下 IRepository 接口
public interface IRepository<T> where T:class
{
void Add(T entity);
void Update(T entity);
void Delete(T entity);
IQueryable<T> GetAll();
T Find(int id);
}
public class LINQRepository<T> : IRepository<T> where T: class
{
protected DbSet DbSet;
public LINQRepository(DbContext context)
{
DbSet = context.Set<T>();
}
void IRepository<T>.Add(T entity)
{
DbSet.Add(entity);
}
void IRepository<T>.Update(T entity)
{
DbSet.Attach(entity);
}
void IRepository<T>.Delete(T entity)
{
DbSet.Remove(entity);
}
IQueryable<T> IRepository<T>.GetAll()
{
return DbSet as IQueryable<T>;
}
T IRepository<T>.Find(int id)
{
return DbSet.Find(id) as T;
}
}
在我的代码中,我正在实例化一个 QuestionsRepository,并且我还想获得返回的问题列表的所有相关答案。我想知道什么是完成这项工作的好方法?我是否在界面中创建另一个功能,例如GetAllWithChild(String ChildName)
?我想有更好的方法来解决这个问题。