如何查询linq lambda“;其中getdate()-Ngaynhap<;15〃;

本文关键字:-Ngaynhap getdate lt 其中 何查询 查询 linq lambda | 更新日期: 2023-09-27 18:20:02

我对这个查询有问题:

    select SanPham.*,TenSX  
    from SanPham join NhaSanXuat on SanPham.MaSX = NhaSanXuat.MaSX 
    where GETDATE()- NgayNhap < 15
    order by NgayNhap,MaSP desc

我似乎对where getdate() - Ngaynhap < 15 有问题

这是linq查询:

var sp = db.SanPhams.Join(db.NhaSanXuats, masp => masp.MaSX, mansx => mansx.MaSX, 
(masp, mansx) => new { SanPham = masp, NhaSanXuat = mansx })
.Where(ngaynhap=>DateTime.Now.Day - db.SanPhams.Select(n=>n.NgayNhap.Value.Day))
.OrderByDescending(nhap => nhap.SanPham.NgayNhap)
.ThenByDescending(masp => masp.SanPham.MaSP)
.Select(s => s.SanPham);

如何查询linq lambda“;其中getdate()-Ngaynhap<;15〃;

如果没有更多的信息,很难更好地帮助您。但我认为你正在寻找以下内容:

var sp = db.SanPhams.Join(db.NhaSanXuats, masp => masp.MaSX, mansx => mansx.MaSX, 
(masp, mansx) => new { SanPham = masp, NhaSanXuat = mansx })
.Where(db => (DateTime.Now - db.SanPham.NgayNhap).Days < 15)
.OrderByDescending(nhap => nhap.SanPham.NgayNhap)
.ThenByDescending(masp => masp.SanPham.MaSP)
.Select(s => s.SanPham);