EntityFrameworkを使用している次のクエリがあります。
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に渡さないのでしょうか。それはうまくいくはずです。