【发布时间】:2015-07-17 22:58:17
【问题描述】:
当我执行下面的查询时,我不断收到以下错误。我不知道还有什么办法可以满足我的条件。我无法找到与其他产生相同错误输出的问题相同的问题。
Unable to create a constant value of type 'Project.Models.Bill'. Only primitive types or enumeration types are supported in this context.
代码:
var billResults = db.Database.SqlQuery<Bill>("exec [dbo].[sp_getBills]").AsQueryable();
var results = db.Bills.Select(
a => new
{
a.Id,
a.Col1,
a.Col2,
ErrorCount = (int) (billResults.Where(x => x.BillResultsId == a.Id).Count())
}).Where(a => a.Col1 == "Test123");
我会很感激任何帮助 - 过去几个小时一直在这方面卡住了。
谢谢!
【问题讨论】:
-
注释掉查询的不同部分,直到找出导致错误的确切原因。
-
@FranciscoGoldenstein 这是 ErrorCount 行.. 但我想不出另一种方法来完成它。
-
Where 子句应该在 Select 子句之前 ;)
-
@drooksy 谢谢,注意到了。 :)
标签: c# .net entity-framework lambda