c# - 如何从数据库 Blazor C# 中获取 Id 数据
问题描述
已经开始使用 blazor 服务器端进行 crud 从数据库中获取数据
我现在正在创建一个页面,我将在其中查看详细信息并编辑列表中的一项
我得到了我想要显示的项目的 id,但是我的 crud 解决方案给了我一个对象列表,而不仅仅是我需要的一个......
我得到了我的 SqlDataAccess,我在其中编写了两个主要功能(加载-> QueryAsync 和保存-> ExecuteAsync),其界面如下所示:
我得到了一个 FiledbData 类,我从这里调用 db,如下所示:
我现在只想向数据库询问 getbyId 之类的一项,而不是获取所有数据...
解决方案
您可以使用parameterized queries
来执行 where 子句。
因此,该GetFile
方法将是这样的:
public Task<FileModel> GetFilebyId(int id)
{
string sql = "select * from dbo.file.. where Id = @Id";
return _db.LoadSingleResult<FileModel, dynamic>(sql, new {Id = id });
}
您还需要添加一个新方法LoadSingleResult
,如下所示(除部分之外的其他部分try
与您的LoadData
方法类似):
public async Task<T> LoadSingleResult<T,U>(string sql, U parameters)
{
.
.
.
try{
var data=await connection.QueryAsynch<T>(sql, parameters);
reurn data.Single();
}
.
.
.
}
注意:
- id 列假定为
Id
。 - id 列假定为
integer
列
您也可以使用QuerySingleOrDefaultAsync。
推荐阅读
- python - MongoDB在插入数据库之前检查集合中的项目是否存在列表项
- shell - cURL HTTP 请求和附加文本文件——意外输出
- python - 如何从 DataFrame 中获取 DataFrame,其中一列作为其他行的值的总和?
- java - Android Studio 不会发布到 localhost,也不会出错。
- c++ - 错误:'std::function 类型的非常量引用的初始化无效
&' 来自 'main():: 类型的右值 '| - python - 在python中叠加两个单独的直方图
- svn - 在进行 SVN(颠覆)稀疏检出后,我如何检出更多文件
- c++ - 我们可以定义一个与它关联的外部存储类的变量吗?
- django - Django __date 不适用于 date() 或字符串
- numbers - rdkit:如何显示分子的原子数