У меня есть две сущности, которые связаны во многих отношениях со следующими:
public class Fee
{
public int Id { get; set; }
[Required]
public string Label { get; set; }
public string Description { get; set; }
----Ignored for brevity----
public virtual ICollection<ClassFee> ClassFees { get; set; }
}
public class StudentClass
{
public int Id { get; set; }
public string Label { get; set; }
---Ignored for brevity---
public virtual ICollection<ClassFee> ClassFees { get; set; }
}
public class ClassFee
{
public int Id { get; set; }
[Display(Name ="Fee")]
public int FeeId { get; set; }
[Display(Name ="Class")]
public int ClassId { get; set; }
---ignored for brevity---
[ForeignKey("FeeId")]
public Fee Fee { get; set; }
[ForeignKey("ClassId")]
public StudentClass Class { get; set; }
}
Ниже приведен мой класс FeesController, в котором я намереваюсь получить подробную информацию о данной плате и список классов. пошлина применяется к
public async Task<IActionResult> Details(int? id)
{
if (id == null)
{
return NotFound();
}
var fee = await _context.Fees
.Include(cf => cf.ClassFees)
.FirstOrDefaultAsync(m => m.Id == id);
if (fee == null)
{
return NotFound();
}
return View(fee);
}
Я ожидал, что с этим я смогу получить класс для сборов в представлении, позвонив classFeeEntityInstance.class.label
, чтобы получить метку для класса, но он возвращает ноль , Также, когда я ставлю точку останова на метод и запускаю код, classfee.class возвращается как null
Я также пытался сделать следующее, чтобы посмотреть, могу ли я с нетерпением загрузить класс в запросе, но это не представляется возможным найти класс из classfee с помощью вызова ThenInclude следующим образом
.Include(cf => cf.ClassFees).ThenInclude(f=>f.Class)
, но в тот момент f.Class не существует, так как IntelliSence в Visual Studio не предлагает его и он подчеркивает это немедленно, и я пытаюсь добавить его.
Ниже показано, как я sh могу использовать класс под classFees, на мой взгляд
@foreach (ClassFee classFee in Model.ClassFees)
{
@classFee.Class.Label
}
Но Class.Label подбрасывает исключение нулевой ссылки при запуске кода
Приложение строится на ASP. NET -Core 3.1 с Entity Framework 3.1
Буду признателен за любое руководство по решению этой проблемы Спасибо вы