TempoClick Ответов: 1

Entity framework: изменить модель представления


У меня есть несколько классов (сущностей) и модель представления. Я хочу отредактировать свою модель представления и сохранить ее в каждой сущности.

Во-первых: что-то не так с моделью?
Во-вторых: как вернуть данные myViewModel в режим редактирования? Я не мог найти пример редактирования, подходящий для моей модели.

Что я уже пробовал:

У меня есть следующие классы: продажи, цены и страны, где продажи дают один->много другим классам.

     public partial class SALES
      {
        [key]
        public int id_sales { get; set; }
        public DateTime offer_dateC { get; set; }
        public int comnamC { get; set; }
        public string sales_contactC { get; set; }
        public string prod_name_pharma_formC { get; set; }
        public virtual ICollection<PRICE> PRICE { get; set; }
        public virtual ICollection<COUNTRIES> COUNTRIES { get; set; 
      }

public partial class PRICE
    {
        [Key]
        public int id_price { get; set; }
        public decimal priceC { get; set; }
        public string strengthC { get; set; }
        public string quantity { get; set; }
        public string currency { get; set; }
        public virtual SALES SALES { get; set; }
    }

public partial class COUNTRIES
    {
        [Key]
        public int id_country { get; set; }
        public string countryC { get; set; }
        public string coountry_name { get; set; }
        public virtual SALES SALES { get; set; }
    }

И вида модели является:
public class myViewModel
    {
      [Key]
      public int id_offers { get; set; }

      public DateTime offer_dateC { get; set; }
      public int comnamC { get; set; }
      public string sales_contactC { get; set; }
      public string prod_name_pharma_formC { get; set; }
      public List<decimal> priceC { get; set; }
      public string strengthC { get; set; }
      public string quantity { get; set; }
      public string currency { get; set; }
      public List<string> countryC { get; set; }
    }

F-ES Sitecore

Вы не можете изучить такую большую технологию с нуля, используя сообщения формы. Возьмите книгу по MVC и пройдите ее или, по крайней мере, попробуйте некоторые учебные пособия по началу работы в интернете. Это довольно хорошо и ответит на многие из основных вопросов, которые у вас есть

Музыкальный магазин MVC

TempoClick

Я уже прошел через учебники EF и могу создавать и удалять процедуры с помощью EF. Я просто не мог найти что-то подходящее для моей модели для редактирования записей.

F-ES Sitecore

Ссылка, которую я вам дал, касается редактирования моделей.

TempoClick

В этом примере не упоминается редактирование нескольких таблиц. Они редактируют только таблицу "альбом".

F-ES Sitecore

Если все ваши данные находятся в одной модели, то извлеките их в табличные модели. Поэтому создайте ценовой класс и заполните его свойства соответствующими свойствами myViewModel, а EF обновит этот ценовой объект в базе данных.

Однако в вашей viewmodel отсутствуют идентификаторы, поэтому вам может потребоваться включить в вашу viewmodel такие вещи, как id_price, чтобы вы могли использовать его в созданном вами ценовом классе, чтобы EF знал, какую запись обновлять в базе данных. Этот метод может оставить вас открытым для некоторых атак злоумышленников, которые изменяют идентификатор цены в вашем html, поэтому вы можете повторно прочитать исходные данные из базы данных и выработать правильный id_price для использования.

Karthik_Mahalingam

Совет: используйте  Ответить  кнопка, чтобы отправить комментарии/запрос пользователю, чтобы пользователь получил уведомление и ответил на ваш текст.

1 Ответов

Рейтинг:
1

#realJSOP

посмотрите в консольную команду диспетчера пакетов update-database


TempoClick

Как я могу использовать эту командную строку для обновления моей модели представления? Как это связано с представлением редактирования?