读书人

LINQ不能返回新的数据类型吗?如需要重

发布时间: 2011-12-22 23:36:25 作者: rapoo

LINQ不能返回新的数据类型吗?如需要重新组合数据怎么办?
先贴代码比较好理解

C# code
var linqValue = from item in db.consume                                group item by new                                {                                    item.je_createdate.Value.Year,                                    item.je_createdate.Value.Month                                } into g                                select new                                {                                    monthday = String.Format("{0}年-{1}月",g.Key.Year,g.Key.Month),                                    totalmoney = g.Sum(d => d.je_amount)                                };                dataGridView3.DataSource = linqValue;

上面段是错误的,错在
"monthday = String.Format("{0}年{1}月",g.Key.Year,g.Key.Month),"我是想返回"2011年-7月"这样的数据格式。但提示:
LINQ to Entities 不识别方法"System.String.Format(...",因此该方法无法转换为存储表达式



[解决办法]
HEY,Try This:

C# code
var linqValue =( from item in db.consume                                group item by new                                {                                    item.je_createdate.Value.Year,                                    item.je_createdate.Value.Month                                } into g                                select new                                {                    Year=g.Key.Year,                    Month=g.Key.Month,                                    totalmoney = g.Sum(d => d.je_amount)                                }).ToList().Select(t=>new{                                   monthday = String.Format("{0}年-{1}月",t.Year,t.Month),                                   totalmoney =t.totalmoney                                  };                dataGridView3.DataSource = linqValue; 

读书人网 >.NET

热点推荐