SQL davranışına bazı garip LINQ üzerinde tökezledi - Herkes bu konuda bazı ışık tutabilir?LINQ: Yeniden lambda ifadesi
Ben lambda ifade tanımlamak ve benim LINQ açıklamada kullanmak istiyorum. ,
Unsupported overload used for query operator 'Any'.
Ama:
[...]
Func<Table1, bool> lambda = x => x.Id > 1000;
var result = dataContext.Table1s.Where(lambda);
[...]
Ama ilişkili bir tabloya
[...]
Func<Table1, bool> lambda = x => x.Id > 1000;
var result = dataContext.Table2s.Where(x => x.Table1s.Any(lambda));
[...]
üzerine yaptığı açıklamada benim Lambda ifade kullanmaya çalıştığınızda istisna almak: Aşağıdaki kod çalışıyor ve bu alamadım:
[...]
var result = dataContext.Table2s.Where(x => x.Table1s.Any(y => y.Id > 1000));
[...]
: Ben sorgusuna doğrudan benim lambda koymak zaman iyi çalışır
NEDEN ?!
Teşekkürler.
'var lamda = x => x.Id> 1000;' kullanmayı deneyin. Yardım edeceğini bilmiyorum, ama bu olabilir ... – Alxandr
@Alxandr - Bu aslında yasal değil. Lambda ifadeleri 'Func <>' veya 'Expression>' olarak derlenebilir ve örneğinizde derleyici hangisini istediğinizi söyleyemeyebilir ve bir hata atar. –