我正在處理MVC4和Entity Framework 5中的一個應用程序,最近在執行我的查詢時遇到了這個異常。EF5.x中PadLeft支持不足的解決方法?
{ 「LINQ實體無法識別方法 'System.String PadLeft(的Int32,CHAR)' 的方法,並且這種方法不能被翻譯成表達商店。」}
當我在過去遇到類似的錯誤,我剛剛在查詢之外創建了一個變量,然後在LINQ語句中使用了該變量。不幸的是,在這種情況下,我操縱行結果,所以我不知道如何去做,或者如果這是最好的方法。任何幫助,將不勝感激。我的查詢是下面:
IQueryable<System.String> LEAPrograms = db.Datamart_Draft
.Where(where => where.snapshot_id == snapshot_id
&& !String.IsNullOrEmpty(where.entity_program))
.Select(sel => (sel.entity_program.PadLeft(PROGRAMLENGTH, '0'))).Distinct();
你能否在表上填充'entity_program'與適當數量的0的附加計算列? – cfeduke 2013-02-28 14:48:44
這是可能的,但我更喜歡可重用的東西。如果我可以避免,我不想爲每個需要填充的列創建附加列。 – Elsimer 2013-02-28 15:13:33