我正在尝试在已过滤的数据库中选择一个字段最后一条记录(这与上次插入的记录不同)。我尝试使用控制器中的以下代码,但不是字段值,我得到“真”或“假”,这取决于过滤后是否有结果。
List<Pozicije> poz = new List<Pozicije>();
poz = db.Pozicijes.Where(p => p.grupa == grupa)
.OrderBy(p => p.sifra_pozicije).ToList();
string pos = poz.Select(p => p.sifra_pozicije.Contains(s)).LastOrDefault().ToString();
有人能指出我如何获得我需要的价值吗?
答案 0 :(得分:2)
试试这个。我已将您的查询的两个部分合并为一个。
var pos =
Convert.ToString(db.Pozicijes.Where(p => p.grupa == grupa
&& p.sifra_pozicije.Contains(s))
.OrderByDescending(p => p.sifra_pozicije)
.Select(p => p.sifra_pozicije)
.FirstOrDefault());
如果它不起作用,您可能需要告诉我们s
和sifra_pozicije
的类型。
答案 1 :(得分:1)
LastOrDefault
。您需要执行OrderByDescending
然后获取First
记录。像:
string pos = db.Pozicijes.Where(p => p.grupa == grupa && p.sifra_pozicije.Contains(s)))
.OrderByDescending(p=> p.sifra_pozicije)
.Select(r=> r.sifra_pozicije)
.First();