既存の LINQ to SQL クエリの一部を、ストアド プロシージャを使用するものに変換し始めました。ただし、結果が返される形式が異なるため、ある形式から別の形式に変換する賢い方法があるかどうか疑問に思っていました。
たとえば、一連の整数を IQueryable 形式で返す LINQ クエリがあります。
public static Func<rdfsDataContext, IQueryable<int>>
SubClasses = CompiledQuery.Compile( ( rdfsDataContext itsRdfsContext ) =>
itsRdfsContext.rdfs_statements.Where( s => s.predicate == kSubClassId )
.Select( s => s.subject ) );
再び LINQ 経由で呼び出されるストア プロシージャを使用する場合、返される形式は次のとおりです。
ISingleResult<SubClassesResult> subClasses = itsRdfsContext.SubClasses( kSubClassId );
SubClassesResult は、LINQ システムによって自動生成されるクラスであり、"Subject" という整数の単一のプロパティのみを含みます。
ストアド プロシージャから返された結果を、この ISingleResult< SubClassesResult > 形式から以前の IQueryable< int > 形式に取得する簡単な方法はありますか?