我尝试通过domainservice(async)在代码行中加载一个实体,如:
context.Load<Book>(
context.Books.Where(b => b.BookID == 1),
(s, e) =>
{
_book = e.Results;
},
null);
但我得到以下错误: 类型'SilverlightApplication1.Book'不能在泛型类型或方法'System.ServiceModel.DomainServices.Client.DomainContext.Load(System.ServiceModel.DomainServices.Client.EntityQuery,System.Action&gt;中)中用作类型参数'TEntity',宾语)'。没有从'SilverlightApplication1.Book'到'System.ServiceModel.DomainServices.Client.Entit
的隐式引用转换如何解决?
答案 0 :(得分:4)
你需要使用EntityQuery,看看你的堆栈跟踪它是否给出解决方案。
在您的DomainService(在服务器上)实现方法'GetBookById':
public IQueryable GetBookById(int Id)
{
返回this.ObjectContext.Book.Where(r =&gt; r.Id == Id);
}
然后像这样加载数据:
EntityQuery query = context.GetBookByIdQuery(1);
context.Load(query,OnBookLoaded,null);private void OnBookLoaded(LoadOperation lo)
{
//用数据做什么你需要的,注意:使用'lo.Entities'有加载的数据
}