Получить набор данных, возвращенный из службы wcf с поддержкой ajax - PullRequest
0 голосов
/ 24 марта 2010

Я вызываю метод службы wcf с поддержкой ajax,

<script type="text/javascript">
    function GetEmployee() {
        Service.GetEmployeeData('1','5',onGetDataSuccess);
    }
    function onGetDataSuccess(result) {
        Iteratejsondata(result)
            }
     </script>   

и мой метод,

[OperationContract]
public string GetEmployeeData(int currentPage,int pageSize)
{
    DataSet ds = GetEmployeeViewData(currentPage,pageSize);
    return GetJSONString(ds.Tables[0]);
}    

Мой Dataset ds содержит три элемента данных, но я использую первый для своих записей ... Другие две таблицы данных имеют значения, как я могу получить их в result ...

function onGetDataSuccess(result) {
        Iteratejsondata(result)
            }

Любое предложение ...

1 Ответ

2 голосов
/ 24 марта 2010

Единственное предложение: не использовать DataSets поверх WCF!

Наборы данных являются злом - они огромны, они несут много накладных расходов, смешивают данные с поведением - все, что вы должны избегать, как чума при выполнении правильной SOA. Это вдвойне верно, когда вы выполняете Ajax-вызовы асинхронно - вы хотите передавать как можно меньше данных с помощью JSON - и наличие DataSet с DataTables совсем не помогает вам для ваших вызовов JSON ...

Так что на самом деле: познакомьтесь с какой-то разновидностью ORM, возьмите объекты и списки объектов и добавьте DataSets в кучу цифровой утилизации .....

Если для небольшого проекта вы используете SQL Server в качестве бэкэнда, почему бы не использовать Linq-to-SQL? Или, если это не работает для вас, проверьте Subsonic

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...