C# 在MVC视图中显示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

我试图在部分web视图中显示linq连接查询

以下是我在控制器中的查询:

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 模板


谢谢你的回复。按照你说的做了,现在效果很好。谢谢:)