LINQ 实体异常
我正在尝试使用 Linq 查询从 DbSet 中提取一个对象。
我使用语法:
Nation nation = nationDB.Nations.Where(c => c.ID == testNation.ID).First();
我得到以下异常:
LINQ to Entities 无法识别“Nation get_Item(Int32)”方法,并且此方法 方法无法转换为存储表达式。
Nation
类有几个 string
字段、一个 int
字段(ID)和几个其他对象作为字段。
问题可能是什么?
I'm trying to pull out an object from a DbSet with a Linq query.
I use the syntax:
Nation nation = nationDB.Nations.Where(c => c.ID == testNation.ID).First();
I get the following exception:
LINQ to Entities does not recognize the method 'Nation get_Item(Int32)' method, and this
method cannot be translated into a store expression.
The class Nation
has a couple of string
fields, one int
field (the ID) and a couple of other objects as fields.
What can the problem be?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您需要首先提取整数,因为没有适当的转换可用于从 Linq to Entities 范围内的对象
Nation
检索整数:You need to pull out the integer first because there is no appropriate translation for retrieving the integer from your object
Nation
within the Linq to Entities scope:如果
ID
的类型为int
,那么该行不应该是:删除引号以执行
int
到int
> 比较。If
ID
is of typeint
then shouldn't the line be:Removed the quotes to do an
int
toint
compare.所以如果你说“一个 int 字段(ID)”和
.Where(c => c.ID == "1")
我认为你需要更改为so if you say " one int field (the ID) " and
.Where(c => c.ID == "1")
i think you need change to