取得値はnullの場合:式 'テーブル(Product).Select(p => new <> f__AnonymousType0 1(selldate = IIF((p.SellEndDate = null), Invoke(value(System.Func
1 [System.String]))、p.SellEndDate.Value.ToShortDateString()))))')をSQLに変換できず、それを処理できませんでしたローカル表現として。LINQのエラー
Q
LINQのエラー
2
DateTime列 のうち
A
答えて
3
基本的には、LINQ to SQLがクエリ全体を取り込み、SQL Serverが理解できるものに変換しようとしているということです。ただし、SQL ServerにDateTime.ToShortDateStringの概念がないため、SQLへの変換が失敗するという問題があります。
SellEndDate(これはNullable<DateTime>
となります)を選択するようにクエリを変更する必要があります。そのクエリの結果を使用すると、文字列に変換できます。たとえば、
var list = (from p in Products
select p.SellEndDate).ToList();
// calling ToList() above means we have the entire resultset in memory and
// no longer have to pass the query back to SQL Server
var stuff = from p in list select new
{
selldate = p.SellEndDate == null ?
string.Empty :
p.SellEndDate.Value.ToShortDateString()
};
1
ToShortDateString
と同等のSQL変換がないようです。
代わりにToString
を使用してください。
1
日付時刻フィールドには、NULLを許可する場合:
from order in repository.Order
select order.OrdShipDate == null ? "" : order.OrdShipDate.GetValueOrDefault(DateTime.Now).Month.ToString() + "/" + order.OrdShipDate.GetValueOrDefault(DateTime.Now).Day.ToString() + "/" + order.OrdShipDate.GetValueOrDefault(DateTime.Now).Year.ToString();
日付時刻フィールドがNULLを許可しない場合:
from order in repository.Order
select order.OrdShipDate.Month.ToString() + "/" + order.OrdShipDate.Day.ToString() + "/" + order.OrdShipDate.Year.ToString();
関連する問題
- 1. Linq to Sql:InsertOnSubmitのエラー
- 2. C#LINQエラーのヘルプ
- 3. Visual BasicのLINQエラー
- 4. LINQのSQL GroupJoinエラー
- 5. LINQ比較エラー
- 6. DTOでLINQエラー
- 7. Linq競合エラー
- 8. キャストLINQエラー
- 9. LINQ Newtonsoft.Json.Linq.JPropertyエラー
- 10. LINQ to SQL ForeignKeyReferenceAlreadyHasValueExceptionエラー
- 11. Linq匿名型エラー
- 12. MVC LinQ検索エラー
- 13. Mono Develop 2.4.1 + linqエラー
- 14. LINQのクエリ例外/エラー
- 15. LINQマルチテーブルクエリ:上のエラーが
- 16. 奇妙なLINQのエラー
- 17. LINQ ToList()のシリアル化エラー?
- 18. Linqクエリの戻りエラー
- 19. Linq to DataSet Order By節エラー
- 20. Entity Framework 5 - LINQ構文エラー
- 21. Linq-SQL奇妙なエラー
- 22. DocumentDB .NetクライアントライブラリLINQ集計エラー
- 23. 奇妙なLINQツーSQLエラー
- 24. C#のエンティティLINQの式のエラー
- 25. VBでのLINQ C#クエリ - エラーの取得
- 26. LINQクエリのエラーは私のASP.NETコアアプリで
- 27. linqpadのlinqクエリ実行時のエラー
- 28. LINQ to SQL DataContext接続エラーの報告
- 29. System.Linq.Select方法エラー:エンティティへのLINQは
- 30. 角度4 |生産時のエラーng2-linq
これは、ように私をやってしまった: するvar照会可能=製品のpから \t \t \t \t let Date =(p.SellEndDate.Value!= null)? p.SellEndDate.Value.ToShortDateString():String.Emptyを \t \t \t \t \t \t \t新しい \t \t \t \t \t \t \t \t \t { \t \t \t \t \t \t \t \t \t \t SellDate =日付を選択 \t \t \t \t \t \t \t \t \t} が動作します。 – Sreedhar
うわー、それはSQLに向かい、ToShortDateStringのような関数を実行するときにC#に戻ってくるようです。 – shahkalpesh
ToList()を呼び出す必要はありません。AsEnumerable()を呼び出すことができます。それはローカル実行を使用するのに十分です。 –