加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何从linq到实体查询获取toTraceString()?

发布时间:2020-12-15 08:32:01 所属栏目:百科 来源:网络整理
导读: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.Pro
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();

顺便说一句.为什么你使用动态而不是字符串?动态类型仅适用于有意义的特殊情况 – 事实并非如此.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读