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