Где создать класс DTO в Silverlight WCF RIA? - PullRequest
0 голосов
/ 08 марта 2011

У меня есть одна таблица с 20 столбцами, я хочу отображать эти данные только в пользовательском интерфейсе (не добавлять, не редактировать, не удалять).Я хочу знать, где подходящее место для создания класса DTO для этой таблицы, в проекте DAL или в веб-проекте?

Ответы [ 3 ]

3 голосов
/ 08 марта 2011

Вы можете создавать DTO в веб-проекте, привязывать к нему сущность и возвращать его вызову доменной службы. Вы также можете просто вернуть объект и отметить свойства, которые вы не хотите отображать, с помощью [Display (AutoGenerated = False)].

0 голосов
/ 03 февраля 2012

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

0 голосов
/ 09 марта 2011

Если вы используете LINQ to Entities или LINQ to SQL, вы можете использовать проекцию, чтобы ограничить то, что возвращается из запроса службы WCF, и работать с анонимным типом.Используйте метод выбора LINQ.Тогда вам не нужно будет создавать объект DTO.

Если вы упомянули пользовательский интерфейс Silverlight, службы данных WCF (EDIT: и службы WCF RIA не поддерживают) проецирование через службу.* Пример LINQ:

context.Displays
   .OrderBy(d => d.Title)
   .Select (
       d =>
          new 
          {
              Title = d.Title
          })

Джули Лерман говорит использовать QueryView в статье MSDN Magazine .Это может быть решением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...