我正在使用LinqPad来测试我的查询。这个查询在LInqPad连接到我的数据库(LInq到SQL)时起作用,但当我改变连接以使用我的Entity Framework 5 Model.dll时它不起作用。 (Linq to Entity)。这是用C#编写的。Linq支持实体'仅支持原始类型或枚举类型'错误
我有两个名为Plan和PlanDetails的表。关系是一个计划到许多PlanDetails。
var q = from pd in PlanDetails
select new {
pd.PlanDetailID,
ThePlanName = (from p in this.Plans
where p.PlanID == pd.PlanID
select p.PlanName)
};
var results = q.ToList();
q.Dump(); //This is a linqpad method to output the result.
我得到这个错误“NotSupportedException异常:无法创建类型‘Domain.Data.Plan’的恒定值只有基本类型或枚举类型在这方面的支持。”任何想法为什么这只适用于Linq to SQL?
我担心他为什么需要做一个嵌套查询,当他说一个计划到许多PlanDetails ..这意味着PlanDetails不能孤立..他们必须与计划有关...所以,如果你有一个PlanDetail它应该有一个叫做Plan的Navigational属性(如果没有重命名) – scartag 2013-03-23 21:18:13
,他不需要做这个条件,但是为了这个错误。 – 2013-03-23 21:19:59
谢谢!我一直在玩EF,这也是有道理的。我会在两个不相关的实体上进行尝试。 – duyn9uyen 2013-03-23 21:21:59