如何显示声明为 icollection 的实体的数据

How to display data from a entity declared as icollection

我想 select 来自另一个实体的数据,但这个实体被声明为 Icollection。

EF生成的模型:

 namespace SINCO_MVC.Models
{
using System;
using System.Collections.Generic;

public partial class SINCO_CONCESSAO
{
    public SINCO_CONCESSAO()
    {
     this.SINCO_LEI_AUTORIZATIVA = new HashSet<SINCO_LEI_AUTORIZATIVA>();
     }

    public virtual ICollection<SINCO_LEI_AUTORIZATIVA> SINCO_LEI_AUTORIZATIVA { get; set; }
}
}

我的指数:

   [Authorize(Roles = "ADMINISTRADOR")]
    public ActionResult IndexConcessaoLeiAut()
    {
          return View("IndexConcessaoLeiAut", db.SINCO_CONCESSAO.Include(s => s.SINCO_LEI_AUTORIZATIVA).ToList());
    }

sinco_lei_autorizativa型号:

 namespace SINCO_MVC.Models
 {
     [MetadataType(typeof(SincoLeiAutorizativaMetaData))]
     public partial class SINCO_LEI_AUTORIZATIVA
     {
     }

public class SincoLeiAutorizativaMetaData 
{
    [Display(Name="ID: ")]
    public int IDLEIAUTORIZATIVA { get; set; }

   }
 }

我的看法:

 <% foreach (var item in Model) { %>
    <tr>
    <td>
        <%: Html.DisplayFor(modelItem => item.IDCONCESSAO) %>
    </td>
    <td>
        <%: Html.DisplayFor(modelItem => item.SINCO_LEI_AUTORIZATIVA.? ) %>

       </td>
  </tr>
 <% } %>
 </table>

我想要 select IDLEIAUTORIZATIVA,它是 SINCO_LEI_AUTORIZATIVA 的一项。当实体没有声明为 Icollection 时,我只是调用 DisplayFor 中的 IDLEIAUTORIZATIVA。但这不起作用,IDLEIAUTORIZATIVA 无法识别。

谁能帮帮我?

谢谢。

在前面答案的帮助下,我可以按如下方式解决问题。

查看:

<% foreach (var item in Model) { %>
<tr>
    <td>
        <%: Html.DisplayFor(modelItem => item.IDCONCESSAO) %>
    </td>
    <td>
        <% foreach (var subitem in item.SINCO_LEI_AUTORIZATIVA)
           { %>

           <%: Html.DisplayFor(sla => subitem.IDLEIAUTORIZATIVA) %>
        <% } %>
    </td>
   <td>
   </td>
</tr>

控制器:

    var idLei = db.SINCO_LEI_AUTORIZATIVA.Select(t => t.IDLEIAUTORIZATIVA).ToList();

    var result = db.SINCO_CONCESSAO.Include(s => s.SINCO_LEI_AUTORIZATIVA).Where(s => s.SINCO_LEI_AUTORIZATIVA.Any(v => idLei.Contains(v.IDLEIAUTORIZATIVA))).ToList();

    return View(result.ToList());

感谢帮助!!