2

生年月日を含む列のMembersテーブルがあります。既定ではdateofbirth列のデータ型はvarcharです。Entity Frameworkを使用して文字列をDateTimeに変換します。

エンティティフレームワークを使用して文字列をDateTimeに変換するにはどうすればよいですか?

私はこのような何か試してみました:

let dob = eclipse.members.Take(1) 
         .Select(x => report.member_Dob) 
         .Cast<DateTime>() 
         .FirstOrDefault() 

をしかし、それは私のために動作しませんし、私は、スキーマを変更することはできません。

let dob =eclipse.members.Take(1).Select(x=> DateTime.Parse(report.member_Dob)).FirstOrDefault(); 

:これについて

+0

http://stackoverflow.com/questions/2555927/linq-to-entities-datetime-conversionこれをチェックしてください – 62071072SP

答えて

0

何?

+0

同じエラー..... LINQ to Entitiesメソッド 'System.DateTime ToDateTime(System。 String) 'メソッドを呼び出すことができ、このメソッドをストア式に変換することはできません –

0

残念ながら、L2EはDateTime変換に対する文字列をサポートしていません。いくつかの対処法があります。たとえば、文字列を解析し、比較するLinqクエリ内にDateTimeオブジェクトを作成するなどですが、それらは冗長で醜いものです。

私は可能な限りあなたのL2Eクエリを作成してから、Linq to Objectsを使って最終的なデータセットを返すことをお勧めします。