DefaultIfEmpty错误

时间:2016-09-16 09:58:01

标签: c# sql-server entity-framework sql-server-ce

我在EF中编写了一个select语句,当我使用SQL Server Express作为数据库时,它执行得很好。但是当我将数据库更改为SQL Server CE版时,会发生以下错误:

  

此位置不允许使用参数。确保' @' sign位于有效位置,或者此SQL语句中的参数完全有效

我的代码:

(from r1 in _db.Products
 join r2 in _db.SaleDetails on r1.ID equals r2.PID into g
 from r2 in g.DefaultIfEmpty()
 group new { r1, r2 } by r1.Code.Substring(0, _Group.Code.Length + 3) into g
 select new
        {
            GroupCode = g.OrderBy(p => p.r1.Code.Length).FirstOrDefault().r1,
            Sum1 = g.Where(p => p.r2.IsMain).Select(p2 => p2.r2.Fee).DefaultIfEmpty(0).Sum(),
            Sum2 = g.Where(p => !p.r2.IsMain).Select(p2 => p2.r2.Fee).DefaultIfEmpty(0).Sum()
        }).ToList();

0 个答案:

没有答案