Вы можете достичь этого, создав базовый класс как:
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();
}