假设我有一个Posts
表格,其中Owner
字段为Person
(其中包含字段Name
)。
我正在努力使这个速记表达起作用:
from p in Posts where p.Author == "SomeNameAsString" select p;
这意味着我必须将Person
类型的对象与string
进行比较。
我试图覆盖Equals
并覆盖运算符==和!=,但我仍然遇到异常“DbComparisonExpression需要具有可比类型的参数。”。
有没有办法在实体框架中使两种不同类型具有可比性?
答案 0 :(得分:5)
EF会尝试将您的查询转换为SQL,而这样做似乎并未考虑您的类型转换运算符。只需使用此查询:
from p in Posts where p.Author.Name == "SomeNameAsString" select p;
答案 1 :(得分:1)
你试过吗
from p in Posts where p.Author.Name == "SomeNameAsString" select p;
(如果Name
是Author
)