Нужна помощь в отладке: возникают проблемы с получением данных в приложение Silverlight через RIA Services, Entity Framework, MySQL - PullRequest
0 голосов
/ 01 октября 2009

Я пытаюсь создать приложение Silverlight, которое получает доступ и представляет данные из базы данных MySQL. Я пытаюсь использовать Entity Framework для моделирования данных MySQL и служб RIA, чтобы сделать данные через EF доступными для Silverlight.

Мое приложение Silverlight показывает правильные столбцы в таблице данных, но не отображает данные ( альтернативная ссылка на изображение ):

DataGrid with no data :-(

Когда я смотрю на файл DomainService (используемый для RIA Services), я вижу это:

    public IQueryable<saw_order> GetSaw_order(int intOrder)
    {
        return this.Context.saw_order
            .Where(o => o.Wo == intOrder);
    }

Чтобы проверить этот шаг, я изменил LINQ, чтобы убрать где, чтобы все, что у меня было return this.Context.saw_order;. Когда я сделал это, я смог проверить сервер MySQL и убедиться, что запрос действительно был отправлен на сервер MySQL, а сервер MySQL «Записывает в NET» и пытается отправить данные обратно. Запрос, отправленный с моей тестовой машины, был действительным.

Из моего теста выше кажется, что данные правильно отправляются на сервер MySQL, но теряются где-то при их возврате. Сейчас я пытаюсь выяснить, где в цепочке (от Entity Framework до RIA Services для клиента Silverlight) данные теряются, и я не уверен, как отлаживать это в разные моменты.

Например, как еще можно проверить Entity Framework, чтобы убедиться, что EF не является проблемой? Как я могу проверить услуги RIA? Нужно ли тестировать на клиенте Silverlight?

Я борюсь с изучением C # и не уверен, что делать, чтобы проверить. Как я могу «перехватить» возврат в DomainService, чтобы я мог выполнить некоторую базовую отладку.

Любая помощь очень ценится.

Ответы [ 2 ]

3 голосов
/ 01 октября 2009

Измените свой код следующим образом:

var qry = this.Context.saw_order.Where(o => o.Wo == intOrder);
return qry;

Если вы поставили точку останова при возврате, тогда вы можете попробовать выполнить запрос в ближайшем окне и посмотреть, правильно ли он выполняется.

1 голос
/ 01 октября 2009

Из моего теста выше, кажется, что данные правильно отправляется на MySQL сервер, но потерян где-то на его вернуть. Моя трудность сейчас пытается выяснить, где в цепочке (Entity Рамки для RIA Услуги для Клиент Silverlight) данные заблудиться, и я не уверен, как отлаживать это в разных точках.

Я использую такие инструменты, как: Linqpad: Это для тестирования моих операторов linq to sql. Это довольно простой и простой в использовании.

Fiddler: Fiddler скажет вам, что происходит между сервером и клиентом.

...