0

ASP.NET MVC 4 でエンティティ フレームワーク 5 を使用していますが、これは初めてです。エンティティの主キーをリストとして取得したい。主キーのタイプはGuidです。次のコードを書くと、エラーが発生します。

List<Guid> list = DB.Complex.Where(d => d.IsActive == true)
.Select(d => d.PKComplexRoomID).ToList<Guid>();

エラー:

'System.Linq.IQueryable<System.Guid?>' does not contain a definition for 'ToList' and the best extension method overload 'System.Linq.Enumerable.ToList<TSource>(System.Collections.Generic.IEnumerable<TSource>)' has some invalid arguments

私はそれをグーグルで検索しましたが、何も見つかりませんでした。

4

1 に答える 1

1

PKComplexRoomID選択結果が type であるため、nullable のように見えますSystem.Linq.IQueryable<System.Guid?>

状況によって異なりますが、アクティブなエンティティの部屋 ID が null にならないと仮定すると、次のことを試すことができます。

List<Guid> list = DB.Complex.Where(d => d.IsActive == true && d.PKComplexRoomID.HasValue).Select(d => d.PKComplexRoomID.Value).ToList();

于 2013-01-19T16:06:26.157 に答える