У меня есть этот запрос, который показывает все мои лодки, но я просто хотел бы показать активные лодки.
public Pagination<Boats> GetAll(string name , int pageSize, int pageNumber)
{
var cn = Db.Database.Connection;
var sql = @"SELECT * FROM Boats" +
"WHERE (@Name IS NULL OR Name LIKE @Name + '%')" +
"ORDER BY [Name ] " +
"OFFSET " + pageSize * (pageNumber - 1) + " ROWS " +
"FETCH NEXT " + pageSize + " ROWS ONLY " +
" " +
"SELECT COUNT(Id) FROM Boats" +
"WHERE (@Name IS NULL OR Name LIKE @Name + '%')";
var multi = cn.QueryMultiple(sql, new { Name = name });
var boats= multi.Read<Boats >();
var total = multi.Read<int>().FirstOrDefault();
var paginationList= new Pagination<Boats>()
{
List = boats,
Count = total
};
return paginationList;
}
У меня есть активные и исключенные атрибуты в таблице, поэтому я попытался показать толькоЛодки, которые были активны, но с этим запросом он продолжает возвращать все записи из таблицы Лодок, например, frist one
var sql = @"SELECT * FROM Boats " +
"WHERE (@Name IS NULL OR Name LIKE @Name + '%' AND Active=1 AND Excluded=0)" +
"ORDER BY [Name] " +
"OFFSET " + pageSize * (pageNumber - 1) + " ROWS " +
"FETCH NEXT " + pageSize + " ROWS ONLY " +
" " +
"SELECT COUNT(Id) FROM Boats " +
"WHERE (@Name IS NULL OR Name LIKE @Name + '%' AND Active=1 AND Excluded=0)";
Любые идеи, как я могу объединить атрибут Name с атрибутами Active и Excluded?