【发布时间】:2018-06-19 23:05:56
【问题描述】:
最近我们将后端 Web api 从 .Net 4.61 升级到 .Net Core 2.0, 我们正在使用 Breezejs,我们对此很满意, 升级后我们遇到了两个在线找不到答案的问题:
使用 did 升级所有内容是:
我们使用这个 git 作为指导:https://github.com/mikemichaelis/dnc/
但要总结一下:
使用 .Net 标准库项目和 Scaffold-DbContext(包含所有需要的依赖项)
使用 Breeze 和 Ef Core 依赖项创建一个 .Net Core 2.0 WebApi 项目
将旧控制器迁移到新项目并删除错误
所以这是第一个问题: 对于只返回实体的 List 方法,它工作正常
但对于返回单个 Object 的方法,它给出:
[HttpGet]
public Choice ChoiceByID(int ID)
{
var result = this.PersistenceManager.Context.Choice
.SingleOrDefault(n => n.ID == ID);
return result;
}
breeze error 错误:无法将此端点转换为 IQueryable
如果我们更改代码以返回 IQueryable:
[HttpGet]
public IQueryable<Choice> ChoiceByID(int ID)
{
var result = this.PersistenceManager.Context.Choice
.Where(n => n.ID == ID);
return result;
}
它会给予:
breeze 错误错误:此 EntityQuery ctor 需要有效的 json 细绳。以下不是json
到目前为止还没有解决问题的运气
【问题讨论】:
-
如果你调试,你看到
result变量上的选择了吗? -
是的,在这两个例子中,服务器上的结果被填充并且方法被正确执行
标签: c# asp.net-core breeze ef-core-2.0