无法创建'System.Char'类型的常量值

本文关键字:常量 类型 Char System 创建 | 更新日期: 2023-09-27 18:08:31

我在EF6中试图通过LINQ分组和求和一些值时出现以下错误:

无法创建"System.Char"类型的常数值。在此上下文中只支持基本类型或枚举类型。

我在StackOverflow上看了六个类似的问题,找不到我的问题。下面是查询:

var q = from c in _context.HoursProviderCosts
        where c.PatientInsuranceCompanyName == insuranceName
            && c.HoursDate >= startDate
            && c.HoursDate <= endDate
        group c by new { c.ID, c.PatientFirstName, c.PatientLastName } into g
        select new Models.InsuranceCostListItem
        {
            PatientID = g.Key.ID,
            PatientName = g.Key.PatientFirstName + ' ' + g.Key.PatientLastName,
            Total = g.Sum(x => x.ProviderRate)
        };
return q.ToList();

是我的分组(我是新来的)吗?底层的EF6模型很好(我可以扩展_context.HoursProviderCosts的结果视图并查看数据)。

感谢

方法签名:

public List<Models.InsuranceCostListItem> InsuranceCostsListItems(DateTime periodStart, string insuranceName) {

无法创建'System.Char'类型的常量值

空格是单引号,所以它是字符字面量。EF6不知道如何将其转换为SQL。如果你使用双引号,空格就是一个字符串,EF6知道该怎么做。

PatientName = g.Key.PatientFirstName + " " + g.Key.PatientLastName.