Я скоро начну кодировать новое веб-приложение.Приложение будет построено с использованием ASP.Net MVC 3 и Entity Framework 4.1 (подход Database First).Вместо использования стандартных классов EntityObject я буду создавать классы POCO с помощью ADO.NET POCO Entity Generator.
Когда я создаю POCO с помощью этого инструмента, он автоматически добавляет ключевое слово Virtual во все свойства для отслеживания изменений и навигации.свойства для отложенной загрузки.
Я, однако, читал и видел из демонстраций, что Джули Лерман (EF Guru!), кажется, отключает отложенную загрузку и также изменяет свой шаблон POCO, так что ключевое слово Virtual удаляется из ее POCO.классы.Джули заявляет, что причина этого заключается в том, что она пишет приложения для служб WCF и, используя ключевое слово Virtual, вызывает проблему с сериализацией.Она говорит, что, когда объект сериализуется, сериализатор касается свойств навигации, которые затем запускают отложенную загрузку, и, прежде чем вы узнаете об этом, вы перетаскиваете всю базу данных по проводам.
Я думаю, Джули, возможно, преувеличивалакогда она сказала, что это может привести всю базу данных через провод, однако, даже в этом случае, эта мысль пугает меня!
Мой вопрос (наконец), должен ли я также удалить ключевое слово Virtual из моих классов POCO для моего MVCприложение и использовать DectectChanges для отслеживания изменений и быстрой загрузки для запроса свойств навигации.
Ваша помощь с этим будет принята с благодарностью.
Спасибо, как всегда.