Частичные классы и частичные методы были первой частью моего ответа. То, что я по существу пытаюсь сделать, я не могу сделать. Я могу манипулировать возвращаемыми данными с помощью разделяемых методов и разделяемых классов. Я могу подключить метод OnmethodnameChanged(), чтобы отформатировать данные так, как я хочу, чтобы они отображались, но это лишь часть пути к желаемому результату.
Что я также хотел бы сделать, так это создать свойство c, которое не существует в виде столбца в базе данных (и, следовательно, не существует в моем объекте), рассчитанное на основе пары различных свойств в базе данных (скажем, a и b ), а затем добавьте свойство c в класс инфраструктуры сущностей. При этом я полагал, что затем он будет сгенерирован в вывод веб-службы RESTful.
Возникающая проблема связана с необходимостью того, чтобы класс обновлял любые сделанные вами изменения и распространял их обратно в источник данных. Меня это не заботило, потому что я хочу, чтобы моя собственность была доступна только для чтения. Из того, что я собрал, это невозможно.
Для справки, эти два сообщения действительно помогли: Добавление пользовательского свойства в класс Entity Framework (сейчас я могу опубликовать только один URL, так что вот адрес другой статьи)
social.msdn.microsoft.com/Forums/en-US/adodotnetdataservices/thread/b7a9e01d-c5c2-4478-8f01-00f7f6e0f75f
Что я решил сделать, так это открыть свою сущность, как я делал до сих пор, а затем использовать службу RESTful, которая манипулирует данными и переформатирует их, а также вводит необходимые свойства. Я превращу результаты в свой собственный объект данных и использую его в качестве источника данных, который будет представлен еще одной веб-службой RESTful. Я думаю, что этот веб-сайт дает хороший пример того, как выставить пользовательский источник данных.
mstecharchitect.blogspot.com/2008/12/surfacing-custom-data-source-in-adonet.html
Если по какой-то причине это слишком медленно, я полагаю, что могу просто создать еще одну таблицу в своей базе данных, в которой есть переработанные данные, и вычисленный вывод в формате, который я ищу. Чего я хочу избежать, так это того, что моему результирующему клиенту придется выполнять какие-либо манипуляции с данными, поскольку они будут на некоторых микроустройствах, таких как ладони, айфоны и ежевики.
Надеюсь, это поможет кому-то еще с той же проблемой. Похоже, это недостаток текущей версии Data Services, но я уверен, что в более поздних версиях его исправят. Возможно, T4 и .net 4.0 решат эту проблему. Я не уверен.
person
georryan
schedule
26.09.2009