良い一日。MS SQL 2008R2ベースでテーブル結果UDFを取得し、マップされたクラス「ApplicationGroupsResult」を取得しました。
ALTER FUNCTION [dbo].[netsqlazman_ApplicationGroups] ()
RETURNS TABLE
AS RETURN
SELECT dbo.[netsqlazman_ApplicationGroupsTable].*
FROM dbo.[netsqlazman_ApplicationGroupsTable] INNER JOIN
dbo.[netsqlazman_Applications]() Applications ON dbo.[netsqlazman_ApplicationGroupsTable].ApplicationId = Applications.ApplicationId
[Function(Name="dbo.netsqlazman_ApplicationGroups", IsComposable=true)]
public IQueryable<ApplicationGroupsResult> ApplicationGroups()
{
return base.CreateMethodCallQuery<ApplicationGroupsResult>(this, (MethodInfo) MethodBase.GetCurrentMethod(), new object[0]);
}
今、私はいくつかの記録を取りたいです:
var query = context.ApplicationGroups();
totalRecordsCount = query.Count();
query = string.IsNullOrWhiteSpace(sortBy)
? query.OrderBy(x => x.ApplicationGroupId)
: query.OrderBy(sortBy);
return query
.Skip(pageNumber*queryRecordsCount)
.Take(queryRecordsCount)
.ToArray();
そして、例外が発生しました。「このプロバイダーは、すべてのID列を含むエンティティまたはプロジェクションを返す順序付けされたクエリのみをスキップします。クエリは単一テーブル(非結合)クエリであるか、Distinct、Except、Intersect、またはUnionです。 (Concatではない)操作。」
UDFを使用したLinqToSQLはページングをサポートしていますか?もしそうなら、私は何を間違えますか?