c# - 如何将对象传递给c#模型的变量
问题描述
我正在从 InfluxDB 数据库中读取数据。此查询的结果是对象类型,我需要将此数据传递给具有两个变量的模块。
模型:
public class DashboardViewModel
{
public string time { get; set; }
public string valor { get; set; }
}
我在其中执行查询的异步任务:
public async Task<List<Serie>> ConsultaBD()
{
var _client = new InfluxDb("http://host:8086/", "***", "***");
List<Serie> series = await _client.QueryAsync("dbName", "SELECT T_PV FROM TFA WHERE time >= '2019-05-21' and time < '2019-05-22'");
return series;
}
我将数据传递给模型的 IActionResult:
public IActionResult Index()
{
DashboardViewModel DatosParaMostrar = new DashboardViewModel();
DatosParaMostrar.time = ConsultaBD().Result[0].Values[0][0].ToString();
DatosParaMostrar.valor = ConsultaBD().Result[0].Values[0][1].ToString();
return View(DatosParaMostrar);
}
返回的数据“QueryBD().Result[0].Values”是这样的对象:
data->
[0]->
[0]= {21/05/2019 0:00:03}
[1]= 586.5
[1]->
[0]= {21/05/2019 0:00:03}
[1]= 575.4
[2]->
[0]= {21/05/2019 0:00:03}
[1]= 595.5
[3]->
[0]= {21/05/2019 0:00:03}
[1]= 584.25
[4]->
[0]= {21/05/2019 0:00:03}
[1]= 583.625
.......
使用这段代码我只传递第一个数据,我怎么能传递对象拥有的所有数据?
解决方案
await
你应该ConsultaBD
打电话:
public async Task<IActionResult> Index()
{
DashboardViewModel DatosParaMostrar = new DashboardViewModel();
var result = (await ConsultaBD()).First();
DatosParaMostrar.time = result.Values[0][0].ToString();
DatosParaMostrar.valor = result.Values[0][1].ToString();
return View(DatosParaMostrar);
}
如果您想显示所有检索到的数据,而不仅仅是第一个,那么您应该填充您的列表DashboardViewModel
并将其传递给您的视图:
public async Task<IActionResult> Index()
{
var results = await ConsultaBD();
IList<DashboardViewModel> model = results.Select(x => new DashboardViewModel {
time = x.Values[0][0].ToString(),
valor = x.Values[0][1].ToString()
}).ToList();
return View(model);
}
推荐阅读
- javascript - 有没有办法覆盖 js 对象属性检索?
- android - 如何向存储访问框架表明我不再需要加载动画?
- jenkins - JIRA、Bitbucket、Jenkins 和 K8s
- sql - 在 SQL 中创建“粘性”行
- python - 窗口滑动图像
- vue.js - Vuejs Convert Based64 image to image file format问题
- android - Kotlin:我可以使用 Singleton 对象在 Activity 和 Service 之间共享数据吗?
- python - 使用 TensorFlow 反转张量内的两个元素块
- javascript - 在加载应用程序根之前,Index.html 样式不活动
- git - Oh my Zsh - 现在出现在我的命令行中的括号中的数字是多少?