我有以下查询,它使用实体框架。
Analytic firstSent = (from a in Repository.Query<Analytic>()
where a.EntityType == "Proposal" &&
a.EntityId == Program.ActiveProposal.Id &&
a.Marker == AnalyticMarker.EmailProposalUrl.ToString()
orderby a.TimestampUtc
select a).FirstOrDefault();
在运行时,我收到以下错误:
LINQ to Entities 无法识别方法“System.String ToString()”方法,并且该方法无法转换为存储表达式。
a.Marker
是一个字符串列,并且AnalyticMarker.EmailProposalUrl
是一个枚举值,我想将该列与该枚举的名称进行比较。
我知道 SQL 不支持从枚举到字符串的转换,但是为什么它不解析这个字符串的值,然后将结果字符串传递给 SQL?那应该工作得很好。