c# - 我想获取单个数据库 SQL 字符串
问题描述
我对此有一个小问题:
readonly LoginMandant logon = new LoginMandant();
string query = "SELECT Name FROM tMandant WHERE Id_Mandant = " + userDetails.Id_Mandant + ";";
Session["MandantName"] = logon.Database.SqlQuery<string>(query).SingleOrDefaultAsync();
它返回:
System.Threading.Tasks.Task`1[System.String]
但为什么?我想要一个像“test”这样的字符串。
解决方案
您需要await
类似任务的操作,即
Session["MandantName"] = await logon.Database.SqlQuery<string>(query).SingleOrDefaultAsync();
但是,这要求您的代码是async
;如果不是,要么制作它async
(但不是 async void
),或者寻找 API 的同步版本。
您可能也应该查看参数;如图所示的代码非常危险。
推荐阅读
- powershell - 批量 Azure AD 更新
- java - 无法使用 AccessibilityService 和 DispatchGesture
- android - 从 Firebase 存储上传时出现 RuntimeException
- angular - 如何通过模拟 Http 响应来测试 NgRx 效果
- r - 将索引数据框应用于动物园对象
- css - 如何使用反应引导程序连续设置卡片
- javascript - 使用 CSS 引用 Web 组件根属性
- c++ - 单击系统托盘通知时启动 UI 或应用程序
- javascript - 如何将翻译后的属性文件保存为从右到左?
- java - Quarkus 使用 OffsetDateTime 保存实体,没有偏移量/时区