tanımıyor. İlk önce EF6 modelini kullanarak .hatası: varlıkları için LINQ burada hızlı bir sorum var metod veri boyu
var db = new MyEntities(GetEntityConnectionString());
ObjectContext objectContext = ((IObjectContextAdapter)db).ObjectContext;
ObjectSet<DOCUMENT> objectSet = objectContext.CreateObjectSet<DOCUMENT>();
var results = objectSet.Where("SqlServer.DATALENGTH(it.BINARYCONTENT)>50000");
Assert.IsTrue(results.ToList().Count == 9);
var results2 = objectSet.Where(doc=>System.Data.Objects.SqlClient.SqlFunctions.DataLength(doc.BINARYCONTENT)>50000);
Assert.IsTrue(results2.ToList().Count == 9);
var results3 = db.DOCUMENTS.Where(doc => System.Data.Objects.SqlClient.SqlFunctions.DataLength(doc.BINARYCONTENT) > 50000);
Assert.IsTrue(results3.ToList().Count == 9);
ilk assert başarılı, bu yüzden şu istisna olsun results2 ve 3 sonuçları neden yürütülür?
An exception of type 'System.NotSupportedException' occurred in EntityFramework.SqlServer.dll but was not handled in user code
Additional information: LINQ to Entities does not recognize the method 'System.Nullable`1[System.Int32] DataLength(Byte[])' method, and this method cannot be translated into a store expression.
Diğer önerilerin başarılı olması için herhangi bir yolu var mı?
içinde yer
kullanarak olmalıdır O var artık neredeyse bir hafta oldu. Bu sorunun ne kadar eski olursa olsun, önerileri hala duymak istiyorum. –