C# 在MVC中将不同模型的多个LINQ结果排序为一个列表
我试图对学生、同事或客人的用户列表进行排序,并根据他们的姓名在我的视图中对他们进行排序 代码如下:C# 在MVC中将不同模型的多个LINQ结果排序为一个列表,c#,asp.net-mvc,linq,model-view-controller,C#,Asp.net Mvc,Linq,Model View Controller,我试图对学生、同事或客人的用户列表进行排序,并根据他们的姓名在我的视图中对他们进行排序 代码如下: public ActionResult Index() { var db = new PraktikumDataContext(); var model = new List<AdminUserListItem>(); var studs = (from stud in db.Students se
public ActionResult Index()
{
var db = new PraktikumDataContext();
var model = new List<AdminUserListItem>();
var studs = (from stud in db.Students select new AdminUserListItem() {Name = stud.FH_Angehörige.Name, LastLogin = stud.FH_Angehörige.FE_Nutzer.Letzter_Login, Rolle = "Student"}).OrderBy(stud => stud.Name);
model.AddRange(studs);
var mits = (from mit in db.Mitarbeiters select new AdminUserListItem() {Name = mit.FH_Angehörige.Name, LastLogin = mit.FH_Angehörige.FE_Nutzer.Letzter_Login, Rolle = "Mitarbeiter"}).OrderBy(stud => stud.Name);
model.AddRange(mits);
var gasts = (from gast in db.Gasts select new AdminUserListItem() {Name = gast.Name, LastLogin = gast.FE_Nutzer.Letzter_Login, Rolle = "Gast"}).OrderBy(stud => stud.Name);
model.AddRange(gasts);
model = model.OrderByDescending()
return View(model);
}
public ActionResult Index()
{
var db=new PraktikumDataContext();
var模型=新列表();
var studs=(从db.Student中的stud选择new AdminUserListItem(){Name=stud.FH_Angehörige.Name,LastLogin=stud.FH_Angehörige.FE_Nutzer.Letzter_Login,Rolle=“Student”});
型号。添加范围(螺柱);
var mits=(在db.Mitarbeiters中从mit中选择new AdminUserListItem(){Name=mit.FH_Angehörige.Name,LastLogin=mit.FH_Angehörige.FE_Nutzer.Letzter_Login,Rolle=“Mitarbeiter”}).OrderBy(stud=>stud.Name);
模型。添加范围(mits);
var gasts=(从db.gasts中的gast中选择新的AdminUserListItem(){Name=gast.Name,LastLogin=gast.FE_Nutzer.Letzter_Login,Rolle=“gast”}).OrderBy(stud=>stud.Name);
型号:AddRange(gasts);
model=model.OrderByDescending()
返回视图(模型);
}
我已经用OrderBy对每个模型进行了排序,但由于我有3个模型,我现在有点困惑,如何将它们作为一个列表,然后对它们进行排序并在我的网站上显示它们。考虑使用LINQ union对服务器进行一次调用:
public ActionResult Index()
{
var db = new PraktikumDataContext();
var model =
(from stud in db.Students
select new AdminUserListItem()
{
Name = stud.FH_Angehörige.Name,
LastLogin = stud.FH_Angehörige.FE_Nutzer.Letzter_Login,
Rolle = "Student"}
).Union(
from mit in db.Mitarbeiters
select new AdminUserListItem()
{
Name = mit.FH_Angehörige.Name,
LastLogin = mit.FH_Angehörige.FE_Nutzer.Letzter_Login,
Rolle = "Mitarbeiter"}
).Union(
from gast in db.Gasts
select new AdminUserListItem()
{
Name = gast.FH_Angehörige.Name,
LastLogin = gast.FE_Nutzer.Letzter_Login,
Rolle = "Gast"}
)
.OrderByDescending(a => a.Name)
.ToList();
return View(model);
}
目前还不清楚您的问题是什么-当前代码是否不起作用?什么是不工作的?(顺便说一句,你不应该每次都排序,然后再排序-这是低效的-当你有一个固定的值排列时,排序更有效)