需要帮助创建LINQ查询以对相关实体进行分组和过滤。
这是我的模型类。
public class Application
{
[DisplayName("Application")]
public int ApplicationId { get; set; }
[DisplayName("Application")]
public string Name { get; set; }
public List<DashboardEntry> DashboardEntries { get; set; }
}
public class Cluster
{
[DisplayName("Cluster")]
public int ClusterId { get; set; }
[DisplayName("Cluster")]
public string Name { get; set; }
}
[Bind(Exclude = "AlbumId")]
public class DashboardEntry
{
[ScaffoldColumn(false)]
public int DashboardEntryId { get; set; }
public int ClusterId { get; set; }
public int ApplicationId { get; set; }
public HealthStatusIndicator Status { get; set; }
public string Incident { get; set; }
public string Remarks { get; set; }
public virtual Cluster Cluster { get; set; }
public virtual Application Application { get; set; }
}
指数行动方法如下
public ActionResult Index()
{
//var dashboardEntries = db.DashboardEntries.Include(d => d.Application).Include(d => d.Cluster);
var dashboardEntries = db.DashboardEntries
.Include(d => d.Application)
.Include(d => d.Cluster)
.GroupBy(d => d.Application);
return View(dashboardEntries.ToList());
}
在视图中,模型声明如下。
@model IEnumerable<HealthCheckIndex.Models.DashboardEntry>
我收到错误
传递到字典中的模型项是类型的 &#39; System.Data.Entity.Infrastructure.DbQuery1 [System.Linq.IGrouping2 [HealthCheckIndex.Models.Application,HealthCheckIndex.Models.DashboardEntry]]&#39 ;, 但是这个字典需要一个类型的模型项 &#39; System.Collections.Generic.IEnumerable`1 [HealthCheckIndex.Models.DashboardEntry]&#39;
如果我在视图中更改模型声明,如下所示,我收到另一个Cluster
无法访问的错误。
@model IEnumerable&gt;
我想将仪表板条目分组到不同的应用程序中,并通过从每个组中选择最大仪表板条目来过滤组。
答案 0 :(得分:2)
您当前传递给视图的类型与指定的类型
不匹配closest('div')
目前,您传递的内容类似于字典,其中键为Application,值为IEnumerable $(document).on('click','.cancella_immagine', function () {
$(this).closest('.wrapper').find('.thumb-image').hide();
});
为了使它具有以下两个选项之一:
用
替换控制器操作的最后一行 @model IEnumerable<HealthCheckIndex.Models.DashboardEntry>
在视图中更改模型定义以匹配您返回的列表