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)使用

posted @ 2023-02-04 21:38  Biyuanguang  阅读(27)  评论(0编辑  收藏  举报