我在数据库中有几个表,并且我想在一个视图组件中使用来自不同表的数据。我可以在return view命令中写什么?
public async Task<IViewComponentResult> InvokeAsync()
{
//return $"{db.}"
return View();
}
答案 0 :(得分:1)
您的问题不是很清楚,但是我认为您遇到的情况是:
var foos = await db.Foos.ToListAsync();
var bars = await db.Bars.ToListAsync();
return View(???);
您想传递两个数据集的地方,但是,当然,您只能对该苹果一口气。如果是这样,那么您只需要一个视图模型-一个可以包含这两个数据集的类,因此您可以返回它。
public class MyViewModel
{
public List<Foo> Foos { get; set; }
public List<Bar> Bars { get; set; }
}
然后:
var model = new MyViewModel
{
Foos = await db.Foos.ToListAsync(),
Bars = await db.Bars.ToListAsync()
};
return View(model);