MVC Core 2-Lambda表达式中的&&运算符不起作用

时间:2018-11-03 13:04:16

标签: c# linq lambda

Visual Studio-使用Microsoft ASP.NET控制器的MVC Core2

我正在尝试根据用户以及是否将其标记为删除(布尔数据类型)来过滤记录

我正在使用&&运算符并尝试按日期排序列,但是它不起作用

这是我的代码

var DataContext = _context.Shops_Basket.Include(c => c.products)
                .Where(c => c.Username == user && c.IsDeleted == 0)).Orderby dates desc;

2 个答案:

答案 0 :(得分:0)

Orderby dates desc无效的c#。可能您对SQL感到困惑。您需要使用OrderByDescending

var dataContext = _context.Shops_Basket.Include(c => c.products)
    .Where(c => c.Username == user && c.IsDeleted == 0)
    .OrderByDescending(c => c.dates);

还要注意,我们有naming conventions in C#。局部变量以小写字母开头。通常不使用诸如Shops_Basket之类的下划线。相反,更好的DbSet名称为ShopsBasket

答案 1 :(得分:0)

您的OrderBy在上面是错误的。另外,您收到的错误听起来像是我的类型名冲突。尝试以小写字母开头的变量来避免这种情况:

var dataContext = _context.Shops_Basket
                          .Include(c => c.products)
                          .Where(c => c.Username == user
                                   && !c.IsDeleted)
                          .OrderByDescending(c => c.dates);