私はここで説明する方法を知っている:コンパイル済みLINQクエリとDataLoadOptions ...
Solving common problems with Compiled Queries in Linq to Sql for high demand ASP.NET websites
...しかし、私は得ると、これは私の状況では動作しません。結果は持って後にロードオプションを設定
が」許可されていませんクエリから返されました。
は、私は、エンティティとマネージャーのコードを生成するためにCodesmith PLINQOスクリプトを使用しています、とマネージャーのコードは次のようになります。
:私が最初にこのようなSearchmanagerクラスに静的DataLoadOptionsをドロップしようとしたpublic partial class SearchManager
{
#region Query
// A private class for lazy loading static compiled queries.
private static partial class Query
{
internal static readonly Func<MyDataContext,IOrderedQueryable<Search>>
GetAll = CompiledQuery.Compile(
(MyDataContext db) =>
from s in db.Search
orderby s.Name
select s);
}
#endregion
public IQueryable<Search> GetAll()
{
return Query.GetAll(Context);
}
}
その後、
public static readonly DataLoadOptions MyOptions =
(new Func<DataLoadOptions>(() =>
{
var option = new DataLoadOptions();
option.LoadWith<Search>(x => x.Rule);
return option;
}))();
...のようなGETALL方法でコンテキストにそれを提供する:
public IQueryable<Search> GetAll()
{
Context.LoadOptions = MyOptions;
return Query.GetAll(Context);
}
...これは私に上記のエラーを与えました。これはクエリが既にコンパイルされているため、「余分な」DataLoadOptionsが追加できないためですか?その場合は、クエリをコンパイルする前にDataLoadOptionsをどのように適用することができますか?
が投稿答えをチェックし、あなたが欲しい情報 –