我有一个模型(M),其中包含两个表(A 和 B)。当我从 MVC 应用程序运行代码以从 (A) 中获取行时,如下所示:
var context =new ClaimsHistorical();
context.CommandTimeout = 120;
IList<ClaimsSLAMonth> list = context.ClaimsSLAMonths.Where(x=>x.timeperiod == "2012-03").ToList();
var final = list.Select(c => new[]{
c.branch.ToString().Trim(), c.NLPR_SLA.ToString() ?? null, c.NLPR_count.ToString() ?? null, c.NLPR_AvgLocktime.ToString() ?? null, c.NLPR_PIn.ToString() ?? null, c.NLPR_POut.ToString() ?? null,
c.NLGA_SLA.ToString() ?? null, c.NLGA_count.ToString() ?? null, c.NLGA_AvgLocktime.ToString() ?? null, c.NLGA_PIn.ToString() ?? null, c.NLGA_POut.ToString() ?? null
});
当我为 list.Select 设置断点以检查命令时,它为我提供了在 SSMS 中工作的 SQL
它返回 0 行(无错误、警告、消息)。我复制了 EF 正在“执行”的 SQL 查询并将其粘贴到 SQL Server Management Studio,它返回了大约 5 行。
此外,当我运行完全相同的代码时,除了将表名替换为 (B) 之外,我得到了正确的行。我试图重新创建模型,但它仍然没有返回任何内容。我是否遗漏了一些明显的东西,或者有什么严重的错误?