C# 在MVC视图中显示Linq连接查询
我试图在部分web视图中显示linq连接查询 以下是我在控制器中的查询:C# 在MVC视图中显示Linq连接查询,c#,asp.net-mvc,linq,join,C#,Asp.net Mvc,Linq,Join,我试图在部分web视图中显示linq连接查询 以下是我在控制器中的查询: public ActionResult InactiveUsers() { using (ModelContainer ctn = new ModelContainer()) { DateTime duration = DateTime.Now.AddDays(-3); var inactive
public ActionResult InactiveUsers()
{
using (ModelContainer ctn = new ModelContainer())
{
DateTime duration = DateTime.Now.AddDays(-3);
var inactive = from usrs in ctn.aspnet_Users
where usrs.LastActivityDate <= duration
join o in ctn.Groups on
usrs.UserId equals o.UserID
select new
{
usrs.UserName,
usrs.LastActivityDate,
o.PrimaryPhoneNumber,
};
return View(inactive.ToList());
}
}
public ActionResult InactiveUsers()
{
使用(ModelContainer ctn=newmodelcontainer())
{
DateTime duration=DateTime.Now.AddDays(-3);
var inactive=来自ctn.aspnet\u用户中的USR
其中usrs.LastActivityDate不返回匿名类型的IEnumerable,您可以为联接结果创建一个类,然后像正常情况一样为其创建一个模型:
var inactive = from usrs in ctn.aspnet_Users
where usrs.LastActivityDate <= duration
join o in ctn.Groups on
usrs.UserId equals o.UserID
select new InactiveUser(usrs.UserName, usrs.LastActivityDate, o.PrimaryPhoneNumber);
var inactive=来自ctn.aspnet\u用户中的USR
其中usrs.LastActivityDate一个解决方案是使用“”模式。不创建匿名类型,而是创建包含要显示的数据的视图模型。只需填充该模型并将其传递给视图即可
使用此模式时,我们创建
强类型类是
针对我们的特定视图进行了优化
场景,以及哪些公开属性
获取所需的动态值/内容
通过我们的视图模板。我们的控制器
然后类可以填充并传递
这些视图优化了我们的类
要使用的视图模板。这将启用
类型安全、编译时检查、,
视图中的编辑器intellisense
模板
谢谢你的回复。按照你说的做了,现在效果很好。谢谢:)