我想从具有多个可选值的两个表中搜索数据库中的数据。
[HttpPost]
public ActionResult GetAll(Details objDetail)
{
Run Code Online (Sandbox Code Playgroud)
首先,我正在创建AsQueryable用于查询的对象。
var searchQuery = (from acc in AppDB.tblAccount
join user in AppDB.tblUser on acc.uID equals user.uID
select new { acc, user }).AsQueryable();
Run Code Online (Sandbox Code Playgroud)
然后我对这个AsQueryable对象一一应用条件。
if (objDetail.Type != null)
searchQuery = searchQuery.Where(x => x.acc.Type == objDetail.Type);
if (objDetail.Category!= null)
searchQuery = searchQuery.Where(x => x.acc.Category== objDetail.Category);
if (objDetail.City.Length != 0)
for (int i = 0; i <= objDetail.City.Length - 1; i++)
{
string singleCity = objDetail.City[i];
searchQuery = searchQuery.Where(x => x.user.City.Contains(singleCity));
} …Run Code Online (Sandbox Code Playgroud)