【发布时间】:2009-10-01 14:18:39
【问题描述】:
我正在尝试构建一个 Silverlight 应用程序来访问和呈现来自 MySQL 数据库的数据。我正在尝试使用实体框架对 MySQL 数据和 RIA 服务进行建模,以通过 EF 将数据提供给 Silverlight。
我的 Silverlight 应用程序在数据网格中显示了正确的列,但没有显示数据 (alternate link to image):
当我查看 DomainService 文件(用于 RIA 服务)时,我看到:
public IQueryable<saw_order> GetSaw_order(int intOrder)
{
return this.Context.saw_order
.Where(o => o.Wo == intOrder);
}
为了测试这一步,我修改了 LINQ 以删除 where,所以我只有 return this.Context.saw_order;。当我这样做时,我能够检查 MySQL 服务器并验证查询实际上已发送到 MySQL 服务器,并且 MySQL 服务器正在“写入 NET”并尝试发回数据。从我的测试机器发送的查询是有效的。
从我上面的测试来看,数据似乎被正确地发送到 MySQL 服务器,但在返回时丢失了。我现在的困难是试图找出数据在链中的哪个位置(实体框架到 RIA 服务到 Silverlight 客户端)丢失了,我不知道如何在不同的点进行调试。
例如,我可以通过哪些其他方式测试 Entity Framework 以确保 EF 不是问题?我如何测试 RIA 服务?我应该在 Silverlight 客户端上进行测试吗?
我正在努力学习 C#,但不确定要测试什么。我如何“捕捉” DomainService 中的返回,以便进行一些基本的调试。
非常感谢任何帮助。
【问题讨论】:
-
事实证明,很多混乱来自 MySQL 连接器使用日期和时间戳的方式。我尝试使用没有日期和时间戳的表格,效果很好。
标签: c# mysql silverlight entity-framework wcf-ria-services