use*_*476 1 c# sql dapper sqlkata
我正在使用 SQL,并且在我的数据库中有一个如下所示的表。
Id Remark1 Remark2 Remark3 Remark4
------------------------------------------------
1 AAA BBB CCC DDD
2 EEE FFF GGG HHH
Run Code Online (Sandbox Code Playgroud)
如何使用以下 DTO从Remark*列中获取所有值IEnumerable<string>?
class MyDTO
{
public int ID { get; }
public IEnumerable<string> Remarks { get; }
}
Run Code Online (Sandbox Code Playgroud)
注意:我正在使用 SqlKata (Dapper),您也可以在回答时使用它。
如果您使用的是 Dapper,也许只需使用非通用 Query API。这会将每一行返回为dynamic,但这也可以强制转换为IDictionary<string,object>,这允许您访问每个命名的列(例如,通过foreach)。
foreach (IDictionary<string, object> row in conn.Query(sql, args))
{
var obj = new MyDto();
var vals = new List<string>();
obj.Remarks = list;
foreach ((var key, var value) in row)
{
if (key == nameof(obj.Id))
obj.Id = (int)value;
else
vals.Add((string)value);
}
// do something with obj
}
```
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
252 次 |
| 最近记录: |