实体框架核心:无法绑定多部分标识符

时间:2017-07-28 10:25:56

标签: c# linq .net-core entity-framework-core

我们正在使用 .NET Core应用程序(同时在localhost上运行)和在我们从中接收数据的SQL Server上运行的SQL数据库。在控制器内部调用的以下方法中,我们使用 Entity Framework Core 来查询SQL数据库中的数据:

    public ActionResult InspectionDetails(string inspectionId, string lang)
    {
        // load all checks for an inspection
        var inspectionChecks = (from ic in _context.InspectedChecks.Where(x => x.InspectionId.ToString() == inspectionId)
                                from cp in _context.CheckPoints.Where(x => x.CategoryId == ic.CategoryId && x.CheckId == ic.CheckId)
                                from tChecks in _context.Translations.Where(x => x.TranslationKey == cp.Title && x.Lang.ToLower() == lang.ToLower()).DefaultIfEmpty()
                                from tChecksFallBack in _context.Translations.Where(x => x.TranslationKey == cp.Title && x.Lang.ToLower() == "en").DefaultIfEmpty()
                                select new InspectedChecks2
                                {
                                    Id = ic.Id,
                                    CheckDate = ic.CheckDate,
                                    Category = ic.CategoryId.ToString(),
                                    Check = tChecks.TextValue ?? tChecksFallBack.TextValue,
                                    CheckingUser = ic.CheckingUser,
                                    Result = ic.Result,
                                    Passed = ic.Passed,
                                    InspectionId = ic.InspectionId,
                                    ToleranceValue = ic.ToleranceValue,
                                    Images = null,
                                    Unit = ic.Unit
                                }).ToList();

        return Content(JsonConvert.SerializeObject(inspectionChecks));
    }

如果调用了InspectionDetails方法,则抛出以下异常:

System.Data.SqlClient.SqlException:"多部分标识符" x0.title"无法受约束。 多部分标识符" x0.title"无法受约束。"

进一步信息:" cp"包含令人厌恶的价值观,所以一切正常,直到那里。

到目前为止我们尝试了什么:

  • 直接在SQL数据库上运行相同的查询 - >成功
  • 在InspectionDetails方法中运行两个查询(第一个查询:将var设置为" cp"的值;第二个查询:如上所述,除了使用 使用新的变种" cp") - >没有成功

有类似问题或知道如何解决问题的人?

先谢谢

0 个答案:

没有答案