Я новичок в WCF. Мой веб-проект имеет ADO.NET Entity Data Model (aka EF edmx), который имеет имя контейнера сущностей JobSystemEntities
.oData WCF сервис - скрыть элемент
Я создал простую службу данных WCF OData, которая использует JobSystemEntities
, и он прекрасно работает:
public class JobService : DataService<JobSystemEntities>
{
public static void InitializeService(DataServiceConfiguration config)
{
config.SetEntitySetAccessRule("Jobs", EntitySetRights.ReadSingle);
}
Однако, это выставляет все свойства на Иова. Я хотел бы скрыть конфиденциальные данные, т. Е. Поле «затраты»/свойство/столбец таблицы «Job».
Проще всего было бы просто скрыть этот атрибут в вашей модели EF - например. никогда не используйте/не показывайте это. Не могли бы вы сделать это? Или вы можете создать пользовательскую EF-модель только для своей OData-службы и скрыть этот атрибут от объекта «Jobs» в этой пользовательской модели? –
Я использую поле «Стоимость» на веб-сайте, поэтому оно должно быть в модели EF. Возможно ваше предложение создать вторую EF-модель для службы oData, но я удивлен, что нет другого способа сделать это? –