Отключить свойства навигации

Использование VS 2012, Entity Framework 5 и SQL Server Express 2012.

У меня есть база данных SQL Server для обслуживания приложения, использующего Web API; поскольку он в основном предназначен для использования на мобильных устройствах, я хочу свести к минимуму передачу данных, поэтому я хотел бы отключить свойства навигации. Я установил для ProxyCreationEnabled и LazyLoadingEnabled значение false, что означает, что связанные данные не сериализуются, что очень помогает, но они по-прежнему отображаются как пустые массивы в данных, возвращаемых при вызовах Web API, что означает, что мне придется как-то обрабатывать их в AJAX звонит.

Есть ли способ полностью их отключить?


person mharran    schedule 09.02.2013    source источник
comment
Используйте DTO. Не возлагайте ответственность за формирование и оптимизацию транспорта на уровень данных.   -  person Gert Arnold    schedule 09.02.2013


Ответы (1)


Я подумал, что ответ Герта был немного кратким, поэтому изначально проигнорировал его. На самом деле он прав на 100%. Теперь я понимаю, что если вам нужен точный контроль над данными, которые вы передаете, то DTO (объекты передачи данных) - это то, что вам нужно.

Сначала я думал, что при создании DTO будет много повторяющейся работы, но потом обнаружил Automapper :)

person mharran    schedule 04.04.2013