Model view controller 在Find Method Generic Repository中通过全名或电子邮件查找?

Model view controller 在Find Method Generic Repository中通过全名或电子邮件查找?,model-view-controller,core,Model View Controller,Core,我想使用全名或电子邮件而不是Id来搜索泛型repsotory中的Find方法? 如何在Find方法中使用FullName而不是Id进行搜索? 这是FindById方法 public async Task<T> GetByIdAsync(object Id) { return await _dbContext.Set<T>().FindAsync(Id); } 公共异步任务GetByIdAsync(对象Id) { 返回wait_db

我想使用全名或电子邮件而不是Id来搜索泛型repsotory中的Find方法? 如何在Find方法中使用FullName而不是Id进行搜索? 这是FindById方法

    public async Task<T> GetByIdAsync(object Id)
    {
        return await _dbContext.Set<T>().FindAsync(Id);
    }
公共异步任务GetByIdAsync(对象Id)
{
返回wait_dbContext.Set().FindAsync(Id);
}
我想在上面的代码中搜索全名?
请提供帮助

您可以向存储库中添加一个通用函数,如下所示:

public T FindBy(Expression<Func<T, bool>> predicate)
{
    return Context.Set<T>().Where(predicate).FirstOrDefault();
}
var person1 = MyGenericRepository.FindBy(r => r.FullName == "John Smith");
var person2 = MyGenericRepository.FindBy(r => r.Email == "jane.smith@gmail.com");
假设数据库集中有全名和电子邮件