Linq toEntitiesを使用しています。
Null許容列「SplOrderID」を持つエンティティ「Order」があります。
注文リストを次のように照会します
List<int> lst = Orders.where(u=> u.SplOrderID != null).Select(u => u.SplOrderID);
SplOrderIDがnull許容列であるため、selectメソッドがnull許容intを返すためだと理解しています。
LINQが少し賢くなることを期待しています。
これをどのように処理する必要がありますか?
プロパティを選択するときに、null許容値を取得します。
List<int> lst =
Orders.Where(u => u.SplOrderID != null)
.Select(u => u.SplOrderID.Value)
.ToList();
linq
var lst = (from t in Orders
where t.SplOrderID.HasValue
select new Order
{
SplOrderID = t.SplOrderID
}).Select(c => c.SplOrderID.Value).ToList();
または
var lst = (from t in Orders
where t.SplOrderID.HasValue
select t.SplOrderID.Value).ToList();
同じ問題を解決しようとしているあなたの質問を見つけました。数回試した後、この解決策を見つけました。int
によって作成されたリストの各プロパティにselect
をキャストしました。
List<int> lst = Orders.where(u=> u.SplOrderID != null).Select(u => (int)u.SplOrderID);