2012-07-24 8 views
5
dynamic traceFile = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\EntityFrameworkTrace.log";     
var CurrentStock = (from s in DBViews.StockStatus 
        where s.ProductID != 10 
        orderby s.ProductName 
        select new 
        { 
         s.ProductID, 
         s.ProductName, 
         CurrentStock = s.TotalStocked - s.TotalSold, 
         s.CurrentSellingRate, 
         CashValue = (s.TotalStocked - s.TotalSold) * s.CurrentSellingRate, 
         s.LastStocked, 
         s.LastCostPrice, 
         s.LastQtyStocked 
        }).ToList(); 

File.AppendAllText(traceFile, CurrentStock.toTraceString()); 
return CurrentStock.ToList(); 

निम्न पंक्ति में CurrentStock सेTraceString() कैसे प्राप्त कर सकते हैं? यहlinc से entities क्वेरी सेTraceString() कैसे प्राप्त करें?

File.AppendAllText(traceFile, CurrentStock.toTraceString()); 

उत्तर

9

हल हो गई है नहीं किया जा रहा आप क्योंकि आप पहले से ToList कहा जाता है नहीं कर सकते हैं - यह एक Linq करने वाली संस्थाओं क्वेरी लेकिन बस एक List उदाहरण नहीं है। Btw

var CurrentStock = (from s in DBViews.StockStatus 
        where s.ProductID != 10 
        orderby s.ProductName 
        select new 
        { 
         s.ProductID, 
         s.ProductName, 
         CurrentStock = s.TotalStocked - s.TotalSold, 
         s.CurrentSellingRate, 
         CashValue = (s.TotalStocked - s.TotalSold) * s.CurrentSellingRate, 
         s.LastStocked, 
         s.LastCostPrice, 
         s.LastQtyStocked 
        }); // No ToList here! 

File.AppendAllText(traceFile, ((ObjectQuery)CurrentStock).ToTraceString()); 
return CurrentStock.ToList(); 

:

इस प्रयास करें। string के बजाय आप dynamic का उपयोग क्यों कर रहे हैं? गतिशील प्रकार केवल विशेष मामलों के लिए है जहां यह समझ में आता है - यह मामला नहीं है।

+0

गतिशील उपयोग के बारे में सलाह के लिए भी धन्यवाद। – StackTrace

संबंधित मुद्दे