首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >npoco的这个查询如何是动态的

npoco的这个查询如何是动态的
EN

Stack Overflow用户
提问于 2019-01-02 18:36:46
回答 1查看 107关注 0票数 0

而不是像这样向每个类添加搜索方法;

代码语言:javascript
运行
复制
    public List<InvoiceDetail> SearchById(int Id)
    {
        return db.Query<InvoiceDetail>()
            .Where(x => x.Id == Id)
            .ToList();
    }

如何将方法添加到基类,如下所示;

代码语言:javascript
运行
复制
    public virtual List<T> SearchById(int Id)
    {
        return db.Query<T>()
           .Where(x => x.Id == Id)
           .ToList();
    }

"T不包含Id的定义“

因为Id是详图图元的定义。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-02 19:28:52

您可以通过创建基类来实现此目的,如下所示:

代码语言:javascript
运行
复制
public class BaseEntity
{
    public int Id { get; set; }
}

然后使适当的实体类继承自BaseEntity

代码语言:javascript
运行
复制
public class Detail : BaseEntity
{
   //some props for Detail class only
}

现在对于您的搜索方法,您可以使用where T : class约束为:

代码语言:javascript
运行
复制
public List<T> SearchById<T>(int id) where T : BaseEntity
{
   return db.Query<T>()
       .Where(x => x.Id == Id)
       .ToList();
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54004799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档