这里我传递一个名为PId的参数。哪个将与另一个表的PId进行比较。但是当查询将查询绑定到ToList()时,我收到错误。
错误:“LINQ to Entities不支持指定的类型成员'PId'。仅支持初始值设定项,实体成员和实体导航属性。”
public IList<Models.MyModel> GetDaraByPId(Guid PId)
{
var query = this._Repository.GetIQueryable();
var list = query.Select(a => new Models.MyModel
{
MyModelId = a.Id,
MyModelName = a.Name
}).Where(f => f.PId == PId);
return list.ToList();
}
答案 0 :(得分:2)
您的值必须为'PId'(PId = a.PId),然后您就可以在条件中使用它(Where(f =&gt; f.PId == PId))。
SELECT name, address FROM global WHERE (type=3) AND WHERE (id BETWEEN 3 and 7);
答案 1 :(得分:0)
我也遇到了这个问题。解决方案是,当您通过任何参数创建具有条件的模型构造函数时,模型必须包含用于比较的Property。在这里,您会错过该模型的“PId”属性。