Arhn - архитектура программирования

Результат формы и Entity Framework имеют разные имена ввода

Я использую EF6 в своем проекте. Мне пришлось вернуть класс, содержащий два отдельных класса, на мой взгляд. Извините за использование неуниверсальных имен и использование жаргонных имен классов.

Модель, возвращенная мне, выглядит следующим образом:

public class Configuration
{
    public List<ProductEntity> ProductCategories { get; set; }
    public PricingConfigurationLog PricingConfiguration { get; set; }
}

Вот пример ввода с использованием синтаксиса Razor для поля формы.

Синтаксис Razor

@Html.EditorFor(model => model.PricingConfiguration.PromoText, new { htmlAttributes = new { @class = "form-control" } })

Вывод в формате HTML

<input class="form-control text-box single-line" id="PricingConfiguration_PromoText" name="PricingConfiguration.PromoText" type="text" value="Promotional Text">

При передаче элементов формы обратно в мой контроллер для их обработки EntityFramework для обновления/вставки в базу данных столбцы пусты.

Кажется, это очевидно из того, что имя формы элемента отображается как name="PricingConfiguration.PromoText, а не PromoText.

Здесь я не знаю, как изменить рендеринг или привязку ниже.

public ActionResult SaveConfiguration([Bind(Include =  "ProductCode,"
                                                     + "PromoText,"
                                                     + "CartLimitPerDay,"
                                                     + "CartDayAllowed,"
                                                     + "SessionDeleteTimeMinutes,"
                                                     + "SessionTimeoutMinutes")] PricingConfigurationLog PricingConfigurationLog)

  • Похоже, ты придумал способ содрать шкуру с этого кота. Однако в качестве предложения я бы рекомендовал использовать модели представлений, а не сущности. Что еще более важно, я бы посоветовал вам попытаться максимально сгладить ваши модели представления. Это не всегда возможно, но избавляет от головной боли, с которой вы сталкивались. 24.07.2014

Ответы:


1

Я изменил привязку на префикс каждого поля с помощью PricingConfiguration.

public ActionResult SaveConfiguration([Bind(Prefix="PricingConfiguration")] PricingConfigurationLog PricingConfigurationLog)
24.07.2014
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..