C#混合应用字符串插值、字符串格式方法生成动态查询语句
String s = String.Format("select * from Price_ItemDepts where FeeDeptID={0}{1}{2}",
$"'{deptID}'",
string.IsNullOrEmpty(categoryID) ? "" : $" and 项目编码 in (select distinct 项目编码 from Price_Items where 收费类别编码 ='{categoryID}')",
string.IsNullOrEmpty(itemID) ? "" : $" and 项目编码='{itemID}'");
ViewBag.DeptID= deptID;
ViewBag.CategoryID = new SelectList(db.Price_ItemCategories, "收费类别编码", "收费类别名称", categoryID);
return View(db.Price_ItemDepts.SqlQuery(s).OrderBy(x=>x.项目编码).ToList());
$接收参数值,根据是否为空生成动态查询语句
注意引号的应用
?:类似 其他语言的 iif 函数
ViewBag.CategoryID视图中@Html.DropDownList("CategoryID", @ViewData["CategoryID"] as SelectList)使用