1

我正在尝试使用带有 WebApi 的微风和角度构建一个演示应用程序。我在使用带有 .select('properties') 方法的微风向 WebApi 发出请求时遇到异常。

return EntityQuery.from('Sessions').select('id,title,code,speakerId,trackId,timeSlotId,roomId,level,tags').orderBy(orderBy).toType('Session').using(manager).execute().to$q(success, queryfailed);

ExceptionMessage:“无法将'System.Data.Entity.Infrastructure.DbQuery 1[System.Web.Http.OData.Query.Expressions.SelectExpandBinder+SelectSome1[AngularBreezeSpa.Models.Session]]'类型的对象转换为'System.Linq.IQueryable`1[AngularBreezeSpa.Models.Session]'。”,

异常类型:“System.InvalidCastException”,

但如果我不使用select()那么一切正常。像下面

return EntityQuery.from('Sessions').orderBy(orderBy).toType('Session').using(manager).execute().to$q(success, queryfailed);
4

1 回答 1

0

2013 年 10 月 28 日更新:

截至目前,Breeze 1.4.5 已支持 Microsoft 的 ASP.NET WebApi 2 和 Entity Framework 6。请参阅http://www.breezejs.com/documentation/download

旧帖...

这个错误是因为微软对 WebApi(新版本称为 WebApi 2)和实体框架(EF5 -> EF6)的更改。

我们将在本周晚些时候发布 Breeze 对 WebApi2 和 Entity Framework 6 的支持。

现在,它有点痛苦,但在安装 Breeze 之前,您需要手动安装“Microsoft.AspNet.WebApi.xxx”包的旧(v 4.x)版本和旧实体框架 v5(不是 v6)与 2013 年相比。

于 2013-10-28T19:16:34.600 回答