Есть ли способ вернуть массив объектов типа DynamicClass
из метода WCF?
Я использую Динамическая библиотека Linq в моей службе WCF, чтобы select
столбцов таблицы базы данных, в соответствии с запросом от клиентов. Код клиента должен выглядеть так:
//client side code
string whereClause = "FeatureId >= 6 and FeatureId <= 180";
string selectClause = "New(FeatureName as Name, FeatureId as Id)";
client.RequestAsync("Feature", "FeatureDB", whereClause, selectClause);
Feature — это имя таблицы, из которой я хочу select
только два столбца, а именно. FeatureName и FeatureId, удовлетворяющие условию в предложении where
.
Здесь проблема в том, что запрос работает на сервере нормально, но WCF не может отправить его обратно клиенту. Я предполагаю, что динамически созданный класс, который определяет только выбранные столбцы, не объявлен DataContract
, поэтому WCF не может с ним работать.
Так какое-нибудь решение этой проблемы?
Или любая альтернатива? Цель состоит в том, что я не хочу возвращать все столбцы таблицы базы данных, потому что мне не нужны все они на стороне клиента. Поэтому я не вижу смысла отправлять все столбцы обратно клиенту, который все равно их отбросит.