我想显示两个表中的数据。我试过这个https://www.asp.net/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/reading-related-data-with-the-entity-framework-in-an-asp-net-mvc-application并使用急切加载。错误的视图时,我尝试着急加载
我有三张桌子'uzytkownik','rolaPowiazanie'和'rola'。 'rolaPowiaznie' 连接“uzytkownik”和 '罗拉' - 有两个列 'idRola' 和 'idUzytkownik' 端这个表是我的数据模型不可见
我的模型:
uzytkownik
public partial class uzytkownik
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public uzytkownik()
{
this.ocenaPowiazanie = new HashSet<ocenaPowiazanie>();
this.przedmiotPowWykladowca = new HashSet<przedmiotPowWykladowca>();
this.grupa = new HashSet<grupa>();
this.rola = new HashSet<rola>();
}
[Key]
public int idUzytkownik { get; set; }
public string imie { get; set; }
public string nazwisko { get; set; }
public string pesel { get; set; }
public string haslo { get; set; }
public string email { get; set; }
public Nullable<bool> stan { get; set; }
public virtual ICollection<rola> rola { get; set; }
}
。
罗拉
public partial class rola
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public rola()
{
this.uzytkownik = new HashSet<uzytkownik>();
}
[Key]
public int idRola { get; set; }
public string nazwaRoli { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<uzytkownik> uzytkownik { get; set; }
}
他们automaticaly通过ADO.NET实体数据模型生成 - 数据库第一
正如在教程中,我试图预先加载和我的控制器看起来像:
public class UzytkownicyController : Controller
{
private PegazEntities db = new PegazEntities();
// GET: Uzytkownicy
public ActionResult Index()
{
var uzytkownicy = db.uzytkownik.Include(x => x.rola);
return View(uzytkownicy.ToList());
}
在我看来,我想:
@Html.DisplayFor(modelItem => item.rola.nazwaRoli)
“的ICollection”不包含定义“nazwRoli”无可以找到接受类型'ICollection'的第一个参数的扩展方法'nazwaRoli'(您是否缺少使用指令或程序集引用?)
我错过了什么吗?我试图像本教程中那样做所有事情,但出了点问题。
它不知道的类型,所以它回落到ICollection的。尝试使用演员。类似于@ Html.DisplayFor(modelItem =>((uzytkownik)item.rola).nazwaRoli) – Nikki9696
与您所问的问题不完全相关,但您可能需要阅读Microsoft的大写化指南(https:// msdn .microsoft.com/EN-US /库/ ms229043.aspx);基本上,属性和类/结构体/枚举应该是帕斯卡的情况。你不需要遵循这些指导原则,但你可能应该这样做。 –