我最初认为这个错误是特定于实体框架的。但是现在认为它与BreezeJS的EFContextProvider有关。
我有一个在 Entity Framework 和 Linq-to-sql 中都能正常工作的 linq 查询:
var dc = new EFContextProvider<MyEntities>();
var query =
(from t1 in dc.Context.Table1
where (from t2 in dc.Context.Table2 select t2.TypeID).Distinct().Contains(t1.TypeID)
select t1);
在执行此查询时,我收到错误:无法创建类型为“Table2”的常量值
但是,如果我直接针对实体框架执行查询:
var dc = new MyEntities();
var query =
(from t1 in dc.Table1
where (from t2 in dc.Table2 select t2.TypeID).Contains(t1.TypeID)
select t1);
查询成功。
任何帮助,将不胜感激 :)