LINQ
クエリを使用してデータベーステーブルから2つの要素を選択します。UNION
を使用する例を見ました修正できないエラーが表示され、それでも修正できるかどうかはわかりません。だからここに私のクエリです:
_ IList<String> materialTypes = ((from tom in context.MaterialTypes
where tom.IsActive == true
select tom.Name)
.Union(from tom in context.MaterialTypes
where tom.IsActive == true
select (tom.ID))).ToList();
_
UNION
でIQueryable
を使用してIEnumarebale
を使用しようとすると文句を言っているようです。私はこのようにToString()
を追加することでそれを修正しようとしました-_(tom.ID).ToString
_は_Visual-Studio-2010
_のエラー下線をきれいにしましたが、ランタイムでは次のようになります:
_{"LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression."}
_
タイ、レロン。
編集:
OK LINQtoEFのint.ToString()が失敗する理由を見つけました。この投稿を読んでください: Linqからエンティティへのintから文字列への変換に関する問題
これは私の側で機能します:
List<string> materialTypes = (from u in result.Users
select u.LastName)
.Union(from u in result.Users
select SqlFunctions.StringConvert((double) u.UserId)).ToList();
あなたのものは次のようになります:
IList<String> materialTypes = ((from tom in context.MaterialTypes
where tom.IsActive == true
select tom.Name)
.Union(from tom in context.MaterialTypes
where tom.IsActive == true
select SqlFunctions.StringConvert((double)tom.ID))).ToList();
ありがとう、私は今日何かを学んだ:)