Bu çalışır:LINQ-to-Entites neden özel yöntemimi tanıdı?
Entities.WorkOrderSet.Where(MyCustomMethod);
Bu değildir:
Entities.WorkOrderSet.Where(o => MyCustomMethod(o));
([Düzenle] bile new
olmadan, çalışmıyor)
anlıyorum neden ikinci çalışmıyor - ama dünyada neden ilk iş yapıyor !?"LINQ-to-Entities yöntemini tanımıyor mu?" çalışma zamanında, ikincisinde olduğu gibi mi? Referans için
, burada, EF4'ü olmayan EF1 kullanarak MyCustomMethod
public bool MyCustomMethod(WorkOrder workOrder)
{
return !workOrder.WorkOrderNum.StartsWith("A", StringComparison.CurrentCultureIgnoreCase);
}
olan
İkincisini çalıştırmaya çalıştığınızda hangi istisna var? –
Ayrıca, EF'in ilk sehpanızı çalıştırdığınızda tüm tabloyu almamasını ve işlevi yerel olarak çalıştırdığından emin misiniz? SQL profiler dosyasını çalıştırın ve sunucuya hangi sorgunun gönderildiğini kontrol edin. –
"LINQ-To-Entities yöntemi tanıyamaz ..." - Bu, beklenen davranış, özel yöntemler SQL'e çevrilemediğinden dolayı. Her zamanki çözüm, önce .ToList() 'i çağırmaktır ... ama bir sebepten ötürü, o olmadan çalışıyormuş gibi görünüyor! –