[英]Select Multi fields in Entity framework in c#
我想選擇2個或更多這樣的字段:例如,我們有一些人的名單,現在他們說找到住在紐約的男性。
我們在這里有“城市”和“性”兩個字段。
我可以這樣
private List<tblTest> GetAll(string city, string sexual)
{
var all = (from x in db.tblTest
where x.city == city && x.sexual == sexual
select x).ToList();
return all;
}
而這個沒有幫助:
private List<tblTest> GetAll(string city, string sexual)
{
var all = (from x in db.tblTest
where x.city == city || x.sexual == sexual
select x).ToList();
return all;
}
使用“ &&
”,我可以做到,但是如果我只想選擇“ City
”,那是行不通的,我想像這樣搜索14個字段,我們想搜索某些字段,而不是我們擁有的所有字段,而我們卻沒有不知道我們要搜索哪些字段
我該怎么辦?
我的方法如下:
private List<tblTest> GetAll(string city, string sexual)
{
var query = db.tblTest.AsQueryable();
if(!string.IsNullOrEmpty(city))
{
query = query.Where(x => x.city == city);
}
if(!string.IsNullOrEmpty(sexual ))
{
query = query.Where(x => x.sexual == sexual );
}
return all.ToList();
}
調用AsQueryable
非常重要,否則,如果您編寫IEnumerable<tblTest> query = ...
,則查詢的結果將超過1次。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.