我有一个EF查询,我通过它的唯一标识符返回一个'Item'.我正在使用MVC提供的脚手架控制器,这可以正常工作,但现在我希望它返回属于该项目的标签列表.
我想我可以使用如下所示的'Include'来急切地获取标签.但是,使用异步时似乎不允许这样做.
Item item = await db.Items.Include("Tags").FindAsync(id);
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释为什么这不起作用并建议另一种方法来恢复项目的标签?
干杯
本
由于依赖于另一个项目,我被迫将Microsoft.AspNet.WebApi.Client和Microsoft.AspNet.WebApi.Core从5.0.0.0版升级到5.2.0.0现在我的API抛出错误"直接路由不能使用参数'controller'.指定一个文字路径代替这个参数来创建一个到控制器的路径".
调用时,在Global.asax.cs中初始化HttpConfiguration时会抛出错误
GlobalConfiguration.Configure(WebApiConfig.Register);
Run Code Online (Sandbox Code Playgroud)
它似乎是导致问题的核心库.当我更新客户端时,它没有抛出错误.
我注意到如果我从项目中的所有控制器注释掉路由属性,那么它不再抛出错误,例如
[Route("api/storage/series/{series}/documentId/{documentId}")]
Run Code Online (Sandbox Code Playgroud)
然而,由于依赖应用程序的数量,删除这些不是可行的解决方案.
在谷歌/ Binging上的错误,其中几乎没有任何有用的信息.任何人都可以提供有关此错误的任何见解,并建议我如何修复它?
我下面这个文章来实现在Web API项目库模式.在存储库中实现更新方法时,我遵循提供的示例,使用:
context.Entry<Item>(item).State = System.Data.EntityState.Modified;
Run Code Online (Sandbox Code Playgroud)
出于某种原因,虽然我收到以下构建错误,
system.data.entitystate类型的实例不能分配给system.data.entity.entitystate类型的变量
我的代码与示例中的代码相同,而不是我使用与示例中使用的实体不同的实体.任何想法,为什么我可能会收到此错误?我正在使用EF 6.02.
干杯