Службы данных WCF и EF4 CTP5, как настроить схемы быстрой загрузки по умолчанию для запросов?

Проект: Предоставление через OData (службы данных Wcf) объекта Entity Framework ObjectContext, настроенного с использованием подхода «сначала код».

Все отлично работает для простых запросов и операций CUD. Однако я не вижу, как настроить загрузку схемы по умолчанию (на стороне сервера).

IE: Если у моей сущности «Клиент» есть набор адресов или отношение «один на один» к сущности, называемой «Менеджер», как я могу настроить свой ObjectContext так, чтобы каждый запрос к клиентам автоматически загружал все адреса и менеджер клиентов? Сущности?

Я знаю, что на стороне клиента вызывающая сторона может использовать query().Expand("path") для загрузки данных. Но я хочу указать это на стороне сервера, чтобы все запросы к сущностям клиентов приводились к тому, что .Include("Addresses") или .Include("Manager") будут настроены по умолчанию?

Любая идея?

Единственный «взлом», который мы можем придумать, — это HTTPModule, который перехватывает GET запросов и добавляет ?expand=XXX к URL-адресу. Это было бы моим последним решением, если мы не сможем найти ничего лучше...

Спасибо за вашу помощь!


person Mathieu Hétu    schedule 15.01.2011    source источник


Ответы (1)


Вы можете попробовать использовать перехватчик запросов.

http://msdn.microsoft.com/en-us/library/dd744837.aspx

person chrisdrobison    schedule 03.02.2011