sql - 将 SQL 查询转换为实体框架查询
问题描述
我需要翻译这个:
SELECT
`Code Query`.`Date Time`,
`Order Details`.scan AS `Order Number`,
`Code Query`.Platform, `Code Query`.`Config String`,
`Code Query`.`Firmware Version`,
`Code Query`.`Field Number`, `Code Query`.Error,
Machines.Description, `Code Query`.`Operator ID`,
Operators.name
FROM
`Code Query`
LEFT OUTER JOIN
Operators ON `Code Query`.`Operator ID` = Operators.id
LEFT OUTER JOIN
`Order Details` ON `Code Query`.OrderID = `Order Details`.ID
LEFT OUTER JOIN
Machines ON `Code Query`.`Machine Name` = Machines.`Machine Name`
WHERE
(`Date Time` BETWEEN '2021-09-07 00:00:00' AND DATE_ADD('2021-09-09 00:00:00', INTERVAL 1 DAY))
ORDER BY
`Date Time` DESC
进入实体框架查询。所以我尝试了一些东西,我有这个(没有错误)。
var startDate = DateTime.Parse("2021-09-07 00:00:00");
var oneDayLater = DateTime.Parse("2021-09-09 00:00:00").AddDays(1);
var codeQuery = (from cq in _context.CodeQuery.Where(x => x.DateTime >= startDate && x.DateTime <= oneDayLater).OrderByDescending(cq => cq.DateTime)
from ope in _context.Operators.Where(x => x.Id == cq.OperatorId).DefaultIfEmpty()
from ord in _context.OrderDetails.Where(x => x.id == cq.OrderId).DefaultIfEmpty()
from mac in _context.Machines.Where(x => x.MachineName == cq.MachineName).DefaultIfEmpty()
select new
{
DateTime = cq.DateTime,
OrderNumber = ord.Scan,
Plztform = cq.Platform,
//ConfigString = cq.ConfigString,
FrimwareVersion = cq.FirmwareVersion,
FieldNumber = cq.FieldNumber,
Error = cq.Error,
Description = mac.Description,
OpeId = cq.OperatorId,
OpeName = ope.Name
}).ToList();
问题是它不起作用。我无法真正调试,因为使用 try/catch 它会抛出异常“e”,它等于“null”。所以这对我知道发生了什么没有帮助。
我看到了其他类似的翻译帖子,但它们是非常简单的查询,没有加入内容。
谢谢你的任何建议。
解决方案
推荐阅读
- python - Python/Selenium 搜索替换元素
- c# - 如何将 Xamarin 中的选定图像转换为字节数组,然后转换为字符串,而字符串将附加到 api
- python - 如何将不同目录中的两个文件传递给docker run?
- hive - HIVE 加入时间太长,但在 Impala 上速度很快
- docker - 使用 Nextcloud 拒绝 /var/cache/nginx/client_temp/xxxx 的权限
- visual-studio-code - 通过 SSH 网关的 VSCode Remote-SSH 扩展?
- javascript - 出现错误无法发布 /undefined/signup
- python - 正则表达式搜索列表,但返回相同大小的列表
- active-directory - 为另一个域打开组策略管理控制台 (gpmc)
- javascript - 我需要使用 vue 模板中的动态名称引用 ref 参数