我不确定为什么会收到错误消息:“必须是可还原节点”
我尝试了此解决方案,但收到“必须还原的节点”错误。 我正在使用EF Core 2.2运行Core 2
HttpClient client = vertx.createHttpClient();
client.websocket(8080, "localhost", "/some-uri", websocket -> {
websocket.handler(data -> {
System.out.println("Received data " + data.toString("ISO-8859-1"));
client.close();
});
websocket.writeBinaryMessage(Buffer.buffer("Hello world"));
});
我正在使用的数据库提供程序是Pomelo.EntityFrameworkCore.MySql版本2.2.6
答案 0 :(得分:0)
您的GroupyBy()
表达式可能无法翻译。以下行不太可能起作用:
D = x.Closing.Value.TimeOfDay >= start ? x.Closing.Value.Day : x.Closing.Value.Day - 1
这里的问题是,SQL不允许在GROUP BY
子句中使用条件逻辑。
您可以将条件逻辑放在select子句中的group by子句之前,然后仅将其结果分组:
var totals = await _unitOfWork.Additions.GetAll()
.Where(x => x.FirmId == firm.FirmId &&
x.State == false &&
x.Closing >= opening &&
x.Closing <= closing)
.Select(x => new {
Y = x.Closing.Value.Year,
M = x.Closing.Value.Month,
D = x.Closing.Value.TimeOfDay >= start ? x.Closing.Value.Day : x.Closing.Value.Day - 1
})
.GroupBy(x => new {
Y = x.Y,
M = x.M,
D = x.D
})
// ...
通常可以,但是在柚2.2.6
中,DateTime.TimeOfDay
没有翻译(尽管3.0.0
支持),因此您需要比较日期的{{ 1}},Hour
和Minute
值,并带有Second
(变量TimeSpan
)的相应属性。