如何使用视图模型从 linq 查询返回列表
本文关键字:查询 返回 列表 linq 何使用 视图 模型 | 更新日期: 2023-09-27 18:37:05
我有这样的课程
public class class1
{
public int class1id { get; set; }
public string name { get; set; }
}
public class class2
{
public int id { get; set; }
public int class1id { get; set; }
public string from { get; set; }
public string to { get; set; }
}
public class viewmodel
{
public class2 deletedocument { get; set; }
public IList<class2> deletelist { get; set; }
}
现在我想返回一个带有名称,从,到属性的列表。这里来自class1和class1id的名称是外键(class1)。我该怎么做?我需要更改我的模型吗?
模型
您可以做的是创建一个具有这三个属性的Model
:
public class MyModel {
public string name { get; set; }
public string from { get; set; }
public string to { get; set; }
}
视图
然后在你的Razor
View
中,你声明一个IEnumerable<MyModel>
是你的Model
@model IEnumerable<ProjectName.Models.MyModel>
控制器
在您的Controller
中,您可以从另外两个查询进行查询,在此过程中创建IEnumerable<MyModel>
并返回它
public ActionResult Index(){
var models = from a in blabla //query what you want here, generate IEnumerable<MyModel>
join b in blabla2 on a.class1id equals b.class1id
select new MyModel{ name = a.name, from = b.from, to = c.to}
return View(models);
}