Я использую службы RIA с Silverlight 4 и хочу ограничить поля, возвращаемые службой. Например:
TableA:
ID
Field1
Field2
Field3
TableB:
ID
TableAID (foreign key)
Field1
RestrictedField2
В моем классе службы домена у меня есть что-то вроде этого, которое было сгенерировано при создании службы. Я добавил включения (которые работают нормально):
<RequiresAuthentication()>
Public Function GetTableA() As IQueryable(Of TableA)
Return Me.ObjectContext.TableA.Include("TableB")
End Function
Мой вопрос: как мне получить все столбцы из TableA, а также получить Field1 из TableB, не возвращая RestrictedField2? Я почти уверен, что это сделано с помощью некоторой причуды Linq, но я не совсем уверен, как это сделать.
Спасибо! Мэтт
Обновить
Одно требование, которое я не перечислил выше. Столбец должен быть удален на стороне сервера, поскольку данные в RestrictedField1 не могут быть отправлены клиенту. Кроме того, мне нужно будет использовать это поле в другом методе службы домена (защищенном с помощью RequiresRoleAttribute), чтобы я мог предоставить информацию администратору. Это требование означает, что я не хочу создавать другой сложный тип и возвращать его. Я бы предпочел продолжить работу с типом модели EF.