在这里我传递一个名为PId的参数。这将与另一个表的 PId 进行比较。但是当查询将查询绑定到 ToList() 时出现错误。
错误:"指定的类型成员'PId'在 LINQ to Entities 中不受支持。仅支持初始值设定项、实体成员和实体导航属性。
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();
}
你必须有一个值 'PId' (PId=a.PId), 然后你可以在一个条件中使用它 (Where(f => f.PId == 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,
PId=a.PId
}).Where(f => f.PId == PId);
return list.ToList();
}
我也遇到了这个问题。解决方案是,当您通过任何参数创建带有条件的模型构造函数时,模型必须包含用于比较的属性。在这里,您错过了模型的"PId"属性。