ラムダ式の使用を開始したばかりで、ショートカットが本当に好きです。私は包括的なメソッドのラムダ内にスコープを持っているという事実も好きです。私が問題を抱えているのは、ラムダを入れ子にすることです。私は、次のコンパイル時にエラーが出るところエンティティフレームワークとネストされたラムダ式
public void DoSomeWork()
{
MyContext context = new MyDomainContext();
context.GetDocumentTypeCount(ci.CustomerId, io =>
{
if (io.HasError)
{
// Handle error
}
// Do some work here
// ...
// make DB call to get data
EntityQuery<AppliedGlobalFilter> query =
from a in context.GetAppliedGlobalFiltersQuery()
where a.CustomerId == ci.CustomerId && a.FilterId == 1
select a;
context.Load<AppliedGlobalFilter>(query, lo =>
{
if (lo.HasError)
{
}
**// Do more work in this nested lambda.
// Get compile time error here**
}
}, null);
}, null);
}
二ラムダは、次のとおりです:入力するラムダ式を変換できません
「System.ServiceModel.DomainService.Client.LoadBehavior」をここで私が何をしようとしていますものですコンパイラは、以前のラムダと同じオーバーライドを使用していても、Loadメソッドの間違ったオーバーロードを選択しています。
これはネストしようとしているのですか?それとも別の何かが間違っていますか?上記の私のコメントで説明したように
おかげで、
-Scott
申し訳ありません - 問題が見つかりました。それはネストされたラムダとは無関係で、私のラムダの内部にひどく形成されたループとは関係ありません。それはintelisenseが狂って行き、偽の誤りを報告するようになった。上のコードではすべてが良いです。 – Scott