【发布时间】:2019-07-12 19:51:01
【问题描述】:
我正在用 asp.net 核心重建一个旧的 vb/web 表单应用程序。我有 5 列,一周中的每一天。 Shift_Monday_Target、Shift_Tuesday_Target 等等。所以在我看来,我有一个变量可以获取当天的数据,我想将它连接到 viewbag 中,这样它每天都会改变。以前的应用程序架构师在他们的 sql 查询中实现了这一点。
但是我正在使用 linq,并且在将语法从 sql 转换为 linq 时遇到了麻烦。所以我决定尝试通过操纵我的视图来获得想要的结果。哪种方法更好,哪种方法更可行?
这是我的尝试。
<strong style="color:white">@(ViewBag.PracticeTarget?.Shift_+"DayOfWeek"+_Target ?? "")</strong>
这是我获取星期几的变量。
var DayOfWeek = DateTime.Now.DayOfWeek.ToString();
这是我的观点。
ViewBag.PracticeTarget = db.TblShiftInfo.FirstOrDefault();
【问题讨论】:
-
为什么不用字典?
-
与我们分享您的旧实现和结果。您可以考虑与我们共享 sql,我们可以与您共享 linq 查询。
-
那太好了!这是sql。 Dim strQuery As String = "选择 Shift_QA_Text 作为 'ShiftQAText',Shift_Name 作为 'NewShiftName',Shift_" + DayofWeek + "_Target 作为 'ShiftTarget' from tbl_Shift_Info where Shift_ID = @ShiftID"
标签: c# .net linq asp.net-core