Используя ASP.NET Core 2.0, Entity Framework Core и Visual Studio, я пытаюсь использовать цикл @foreach в представлении бритвы, чтобы отобразить список «SecondEntityList» в модели Entity1.Мне удалось использовать Entity Framework Core для сохранения данных в локальной БД SQL Server с использованием другого метода представления и действия.Данные были сохранены как в таблицах dbo.Entity1, так и в таблицах dbo.Entity2.
При просмотре бритвы для просмотра списка связанных объектов возвращается следующая ошибка:
NullReferenceException: Object reference not set to an instance of an object.
Как может @Цикл foreach используется для отображения «SecondEntityList» в Entity1?
Entity 1
using System.Collections.Generic;
namespace Project.Models
{
public class Entity1
{
public int Entity1Id { get; set; }
public List<Entity2> SecondEntityList { get; set; }
}
}
Entity 2
namespace Project.Models
{
public class Entity2
{
public int Entity2Id { get; set; }
public string Text { get; set; }
public int Entity1Id { get; set; }
public Entity1 Entity1 { get; set; }
}
}
Просмотр модели
using System.Collections.Generic;
namespace Project.Models.ViewModels
{
public class MyViewModel
{
public Entity1 Entity1 = new Entity1();
public IEnumerable<Project.Models.Entity2> Entity2List;
}
}
Метод действия
[HttpGet]
public IActionResult MyListView(long key, MyViewModel mvm)
{
mvm.Entity1 = context.Entity1.Single(i => i.Entity1Id == key);
mvm.Entity2List = mvm.Entity1.SecondEntityList;
return View(mvm);
}
Просмотр бритвы
@model Sediment.Models.ViewModels.MyViewModel;
@foreach (Project.Models.Entity2 i in Model.Entity2List)
{
@i.Text
}