我已經花了近2天想知道爲什麼這不起作用,但對於我的其他表,它工作得很好。我甚至測試了我的其他模型,其中包含很多領域。 BUt這個特殊的,即使只有2個字段不起作用。我知道我可能會錯過一個明顯的部分,請幫助。LINQ to Entities不支持指定的類型成員。只支持初始值設定項,實體成員和實體導航屬性
這裏是我的模型
public class ReceivedItem
{
public int ReceivedItemID { get; set; }
public int ItemID { get; set; }
}
視圖模型
public class ReceivedItemViewModel
{
public int ReceivedItemID { get; set; }
public int ItemID { get; set; }
}
控制器
[GridAction]
public ActionResult GetReceivedItems()
{
return View(new GridModel(GetReceivedItemsViewModels()));
}
private IQueryable<ReceivedItemViewModel> GetReceivedItemsViewModels()
{
return db.ReceivedItems
.Select(
c => new ReceivedItemViewModel
{
ItemID = c.ItemID
});
}
查看
@(Html.Telerik().Grid<ReceivedItem>()
.Name("grdItems")
.DataBinding(binding => binding.Ajax()
.Select("GetReceivedItems", "Receiving"))
.DataKeys(keys => keys.Add(o => o.ItemID))
.Columns(cols =>
{
cols.Bound(c => c.ItemID);
})
.Pageable()
.Sortable()
.Groupable()
.Filterable()
)我使用Firebug得到
錯誤:
The specified type member 'ReceivedItemID' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.
它將有助於瞭解發生異常的位置。這個異常通常表明你使用了一個需要原始值的實體,比如'Where(a => a.Parent == parentObject)'。 (應該是'Where(a => a.ParentId == parentId)')。 – 2012-04-17 21:00:52