none
Как добавить сущности поведение при использовании entity framework and code first? RRS feed

  • Вопрос

  •  public class Person : IPerson
        {
            [Key]
            public int Id { get; set; }
    
            [Required]
            public string Name { get; set; }
    
            [Required]
            public string City { get; set; }
    
            public virtual IEnumerable<IOrder> Orders { get; private set; }
    
        }
    Хочу что бы класс Person сам создавал объект класса Order. Как это лучше осуществить, какой вообще подход при использовании  entity framework code firs?
    9 февраля 2013 г. 19:31

Ответы

  • Добрый день.

    Обычно, объекты модели не создают другие объекты. В зависимости от паттерна применяемого при разработке это делает код бизнес-логики (в MVC - Controller, в MVVM - ViewModel, при написании без паттернов в обработчиках кликов на кнопках или методах подписанных на другие внешние события). И я бы советовал делать именно так.

    • Предложено в качестве ответа YatajgaModerator 10 февраля 2013 г. 6:18
    • Помечено в качестве ответа Meztigul 10 февраля 2013 г. 11:14
    10 февраля 2013 г. 5:07
    Отвечающий

Все ответы

  • Добрый день.

    Обычно, объекты модели не создают другие объекты. В зависимости от паттерна применяемого при разработке это делает код бизнес-логики (в MVC - Controller, в MVVM - ViewModel, при написании без паттернов в обработчиках кликов на кнопках или методах подписанных на другие внешние события). И я бы советовал делать именно так.

    • Предложено в качестве ответа YatajgaModerator 10 февраля 2013 г. 6:18
    • Помечено в качестве ответа Meztigul 10 февраля 2013 г. 11:14
    10 февраля 2013 г. 5:07
    Отвечающий
  • "Хочу что бы класс Person сам создавал объект класса Order." - это простой POCO класс, он не должен этого делать. Он является потребителем и должен только получать данные, на этом роль этого свойства заканчивается.

    "Как это лучше осуществить, какой вообще подход при использовании  entity framework code firs?"  - подобные объекты заполняет контест базы данных (ваш класс унаследованный от DbContext, т.е. сама EF), когда вы запрашиваете их из какой либо сущности. Т.е. получается, что если делать это самому, то нарушаются основные принципы на которых базируется данный подход (EF Code First).

    10 февраля 2013 г. 6:18
    Модератор