我正在使用下面的代码通过Id
获取库记录MIS3Entities context = new MIS3Entities();
DBLibrary library2 = context.DBLibraries.Find(q => q.ID == asset.ID);
抛出错误'无法将lambda表达式转换为类型'对象',因为它不是委托类型'。我已经尝试过不同的方法来投射这条线,但无法让它发挥作用。我需要更改什么才能让这条线路正常工作?
答案 0 :(得分:2)
与接受谓词作为参数的First(OrDefault)
,Single(OrDefault)
不同,
DbSet<TEntity>.Find
方法只接受params Object[] keyValues
作为参数(see documentation):
查找具有给定主键值的实体。
所以在你的情况下,你可以尝试这样的事情:
// Assuming that the asset.ID is the primary key of the DBLibrary table
DBLibrary library2 = context.DBLibraries.Find(asset.ID);