LINQ クエリの結果を ObservableCollection に格納しようとしていますが、linq の結果は 10 進数型です。
ObservableCollection<string> cost =
new ObservableCollection<string>((from i in context.Items
where i.Cost != null
&& i.Cost > 0
orderby i.Cost
select i.Cost).Distinct());
それは言ってコンパイルされません'The best overloaded method match for 'System.Collections.ObjectModel.ObservableCollection<string>.ObservableCollection(System.Collections.Generic.IEnumerable<string>)' has some invalid arguments.
私はここを見ましたが、あまり役に立ちませんでした。
アップデート
次のことを試しましたが、成功しませんでした:
ObservableCollection<string> cost =
new ObservableCollection<string>((from i in context.Items
where i.Cost != null
&& i.Cost > 0
orderby i.Cost
select i.Cost).Distinct()
.Select(i=>i.ToString()));
と
ObservableCollection<string> cost =
new ObservableCollection<string>((from i in context.Items
where i.Cost != null
&& i.Cost > 0
orderby i.Cost
select i.Cost.ToString()).Distinct());
LINQPad で両方を実行すると、次のエラーが発生します。
LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression.
Message LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression.