Обновление виртуального связанного объекта на основе обновления идентификатора ASP.NET MVC Entity Framework - PullRequest
0 голосов
/ 10 мая 2019

Не знаю, как лучше сформулировать мой вопрос.

Итак, у меня есть модель, давайте возьмем очень простую модель и скажем, что у нас есть эти два свойства:

public string statusId { get; set; }
public virtual listStatus { get; set; }

В моем Createview Я установил этот статусId следующим образом:

  <div class="form-group">
            @Html.LabelFor(model => model.statusId, null, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.DropDownList("statusId", null, htmlAttributes: new { @class = "form-control" })
                @Html.ValidationMessageFor(model => model.statusId, "", new { @class = "text-danger" })
            </div>
        </div>

и метод создания контроллера имеет:

ViewBag.statusId = new SelectList(db.listStatus.Where(i => i.Deleted == false), "Id", "Description");

Теперь я хочу добиться того, чтобы при выборе элемента из этогоперечислите виртуальные обновления в моей модели соответственно выбранному значению, но я не уверен, что лучше всего это делать.В настоящее время я использую метод расширения в моей модели (он был сгенерирован с использованием Entity Framework, поэтому я не хочу его перезаписывать), который делает это:

public static async Task<Request> RefreshRelations(this Request request)
        {
            return await db.Requests.Where(r => r.Id == request.Id).Include(r => r.listStatus).FirstAsync();
        }

, который я мог бы добавить в установщик свойства statusId.Но есть ли лучший способ сделать это, если я что-то упустил?

Любые вопросы или нужна дополнительная информация, пожалуйста, прокомментируйте!Заранее спасибо :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...