मैं Linq to Sql पर एक लेख पढ़ रहा था और इस में आए:क्या एसक्यूएल स्ट्रिंग्स पर IQueryable <T> लैम्ब्डा एक्सप्रेशन का अनुवाद करने के लिए कोई एपीआई या एक्सटेंशन है?
IQueryProvider provider = new QueryProvider(database.GetCommand, database.ExecuteQuery);
IQueryable<Product> source = new Queryable<Product>(provider, database.GetTable<Product>());
IQueryable<string> results = source.Where(product => product.CategoryID == 2)
.OrderBy(product => product.ProductName)
.Select(product => product.ProductName)
.Skip(5)
.Take(10);
लेखक तो सादे एसक्यूएल में परिणाम अनुवाद:
exec sp_executesql N'SELECT [t1].[ProductName]
FROM (
SELECT ROW_NUMBER() OVER (ORDER BY [t0].[ProductName]) AS [ROW_NUMBER], [t0].[ProductName]
FROM [dbo].[Products] AS [t0]
WHERE [t0].[CategoryID] > @p0
) AS [t1]
WHERE [t1].[ROW_NUMBER] BETWEEN @p1 + 1 AND @p1 + @p2
ORDER BY [t1].[ROW_NUMBER]',N'@p0 int,@p1 int,@p2 int',@p0=2,@p1=5,@p2=10
और मैं अपने आप को पवित्र गाय सोचा, "wouldn ' यह बहुत अच्छा होगा अगर IQueryable के लिए कोई एक्सटेंशन था जो डीबगिंग करते समय आपके लिए इन तारों को उत्पन्न करेगा? "
किसी ने कभी इस तरह के बारे में सुना है, और यदि ऐसा है, तो क्या आप मुझे सही दिशा में इंगित कर सकते हैं?
धन्यवाद!
http://msdn.microsoft.com/en-us/library/bb386961.aspx – Servy
सामान्य रूप से यह करने के लिए पृष्ठभूमि के लिए, http://msdn.microsoft.com/en-us देखें /library/bb399342.aspx – AakashM