9
所以我有這樣的代碼:只有基本類型或枚舉類型在這方面的支持
public int saleCount(List<Shift> shifts) {
var query = (
from x in database.ItemSales
where shifts.Any(y => y.ID == x.shiftID)
select x.SalesCount
);
return query.Sum();
}
不幸的是,它拋出這個錯誤:
Unable to create a constant value of type 'Shift'.
Only primitive types or enumeration types are supported in this context.
所以這裏是我定義的轉變,這只是一個正常的實體框架代碼第一個對象:
[Table("Shifts")]
public class Shift : MPropertyAsStringSettable {
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
public int SiteID { get; set; }
public string ShiftID_In_POS { get; set; }
public DateTime ShiftDate { get; set; }
}
我想問題是,我使用Shift o在Linq查詢中查找。我正在對「Shift」列表執行「任意」操作。
一個可能的解決方案是將列表更改爲可能是集合或其他東西,畢竟,我在其他地方用linq查詢加載它,但簽名是什麼?
是!工作得很好,我打算建議將List更改爲其他類型的集合,但這非常棒。 – Bill