Çalışma zamanında OrderBy özniteliğini belirtmek için uygulamamdaki Dinamik LINQ öğesini Entity'ye kullanmaya çalışıyorum. belgelerin çoğunda açıklandığı gibi kodunu kullanarak Ancak zaman:OrderBy ("it." + Sort) - LINQ ile Entity çerçevesine sabit kodlama?
System.Data.EntitySqlException: 'Ad' geçerli kapsamda veya bağlamda çözülemedi
var query = context.Customer.OrderBy("Name");
aşağıdaki özel durum aldı . Başvurulan tüm değişkenlerin kapsam dahilinde olduğundan, gerekli şemaların yüklendiğinden ve ad alanlarının doğru başvurulduğundan emin olun. http://msdn.microsoft.com/en-us/library/bb358828.aspx
Aşağıdaki kod örneği dahil:
ObjectQuery<Product> productQuery2 = productQuery1.OrderBy("it.ProductID");
Bu aşağıdaki için kodumu değiştirmem için beni istenir:
sonra çok araştırıcı bu MSDN sayfa bulundu
var query = context.Customer.OrderBy("it.Name");
Bundan sonra kod mükemmel çalışıyor. Herhangi birinin, OrderLy'nin LINQ ile Entity'ye çalışmasının gerçekten doğru bir yol olduğunu doğrulayabilir miyiz? Çerçevenin bu şekilde uygulanacağına inanamıyorum, belki bir şeyi gözden kaçırdım. Bu soruya şimdiye kadar
Benim cevabım
Teşekkürler, Matt
Teşekkürler, dinamik lib'i deneyeceğim ve çalışıp çalışmadığını göreceğim. 'It' sözdizimini kullanmak tercih edilirse bir örnek verebilir misiniz? Kodunuzu, üzerinde denetiminizin olmadığı bir uygulamayla sıkıca eşleştirdiğiniz görülüyor. Yani değişebilir ve bu nedenle kodunuzu kırabilir? Teşekkürler, Matt – Matt
IMHO, ESQL'i System.Linq.Dynamic üzerinde kullanmanın tek iyi nedeni, ESQL'de, harmanlama gibi, S.L.D.'de bulunmayan birkaç özellikten birini kullanmanız gerekirse. Çoğunlukla S.L.D.'yi tercih ederim. –