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上获取toTraceString()在以下行?它没有得到解决
File.AppendAllText(traceFile,CurrentStock.toTraceString());
解决方法
你不能因为你已经调用了ToList – 它不是Linq-to-Entities查询而只是一个List实例.
试试这个:
var CurrentStock = (from s in DBViews.StockStatus where s.ProductID != 10 orderby s.ProductName select new { s.ProductID,s.LastQtyStocked }); // No ToList here! File.AppendAllText(traceFile,((ObjectQuery)CurrentStock).ToTraceString()); return CurrentStock.ToList();
顺便说一句.为什么你使用动态而不是字符串?动态类型仅适用于有意义的特殊情况 – 事实并非如此.
原文地址:https://www.jb51.cc/csharp/243923.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。