而不是像这样向每个类添加搜索方法;
public List<InvoiceDetail> SearchById(int Id)
{
return db.Query<InvoiceDetail>()
.Where(x => x.Id == Id)
.ToList();
}
如何将方法添加到基类,如下所示;
public virtual List<T> SearchById(int Id)
{
return db.Query<T>()
.Where(x => x.Id == Id)
.ToList();
}
"T不包含Id的定义“
因为Id是详图图元的定义。
发布于 2019-01-02 19:28:52
您可以通过创建基类来实现此目的,如下所示:
public class BaseEntity
{
public int Id { get; set; }
}
然后使适当的实体类继承自BaseEntity
:
public class Detail : BaseEntity
{
//some props for Detail class only
}
现在对于您的搜索方法,您可以使用where T : class
约束为:
public List<T> SearchById<T>(int id) where T : BaseEntity
{
return db.Query<T>()
.Where(x => x.Id == Id)
.ToList();
}
https://stackoverflow.com/questions/54004799
复制相似问题