Как правильно загружать? - PullRequest
0 голосов

У меня есть проект asp net mvc.
Моя ситуация: две таблицы с одним похожим столбцом, и мне нужно отобразить первую таблицу и изменить одно значение из первой таблицы на связанное значение из второй таблицы.
Я пыталсячтобы сделать это через EF Eager Загрузка, но у меня есть ошибка

SqlException: invalid column name "ReqLpu_Id".

Я знаю, что я могу сделать выбор соединения для одной модели, но я не хочу понимать EF Eager Загрузка.Аналогичный столбец STATUS в модели ReqLpu и Id в модели ReqStatusMo

Основная модель:

public class ReqLpu
    {
        [Key]
        public int IdLpu { get; set; }
        public string COD { get; set; }
        public string M_NAMES { get; set; }
        public string TEL { get; set; }
        public string FAX { get; set; }
        public string E_MAIL { get; set; }
        public int? STATUS { get; set; }

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

    }

Вторая модель:

 public class ReqStatusMO
    { 
        [Key]
        public int IdStat { get; set; }
        public string Name { get; set; }
        ReqLpu ReqLpu { get; set; }
    }

Контроллер:

   lpuv = wk.ReqLpus.Include(p => p.ReqStatusMO).ToList();
 return View(lpuv);

Вид:

@model IEnumerable<LpuList.Models.ReqLpu>
...
    <table class="table">
            <tr>
                <th>
                    @Html.DisplayNameFor(model => model.M_NAMES)
                </th>
               ...
            </tr>

            @foreach (var item in Model)
            {
            <tr>
                @Html.HiddenFor(modelItem => item.Id)
                <td>
                    @Html.DisplayFor(modelItem => item.M_NAMES)
                </td>
              ...
                <td>
                    @Html.DisplayFor(modelItem => item.ReqStatusMO.Select(x=>x.Name))
                </td>
                <td>
    ...

Подшивка модели:

 public class WorksContext :DbContext
    {
        public DbSet<ReqLpu> ReqLpus { get; set; }
        public DbSet<ReqStatusMO> ReqStatusMOs { get; set; }
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Entity<ReqLpu>().ToTable("ReqLpu");
            modelBuilder.Entity<ReqStatusMO>().ToTable("ReqStatusMO");
            modelBuilder.Entity<ReqStatusMO>().HasRequired(x => x.ReqLpu).WithMany(x => x.ReqStatusMO).HasForeignKey(x => x.STATUS);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...