我用实体框架创建了一个实体对象,并在Silverlight中与RIA服务框架一起使用。
有问题的实体有两个EntityCollection,它们包含在发送给客户端的IQueriable中。
实体如下所示:
public class Ad:Entity
{
[Include]
public EntityCollection<PublishingDates> PublishingDates {get;set;}
[Include]
public EntityCollection<Notice> Notice {get;set;}
}
域服务方法包括两个集合,使用Include as this:
[Query]
public IQueryable<Ad> GetAds()
{
return this.ObjectContext.Ad.Include("PublishingDates").Include("Notice");
}
在客户端,当调用服务并返回结果时,引发了以下异常:“对象必须实现IConvertible”。
如果只包含一个EntityCollection,那么一切都可以正常工作。如果两者都是,则引发前面提到的异常。
[编辑]
我使用MySQL和MySQL Net Connector版本6.3.5。作为数据库。
最佳答案
我认为这是网络连接器中的一个错误,这里报告了一个非常类似的错误http://bugs.mysql.com/bug.php?id=55349
编辑:
我不确定这是否适用于您的具体情况,但对我来说,最新的社区服务器(5.5.9)工作得更好。注意,这是db not.net连接器,它似乎与我得到的错误无关。
关于mysql - 对RIA服务中的EntityCollection中的许多EntityCollection引发“implement IConvertible”异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4404571/