帮忙看看这个简单的LInQ怎么修改!

zengjd 2010-01-14 05:15:29
var query1 =
from obj in result
select new
{
obj.ID,
obj.Name,
objary = obj.GetObjary(),
keyObjary = (from o in objary
select new
{
o.ID,
parts = GetParts( o.ID)
}).ToArray()
};


private object GetParts( int id)
{
XXX
}


红色部分有错误,提示“当前上下文中不存在名称objary ,
我可以把obj.GetObjary(),就没有错误了,
可是这么做,导致多调用了obj.GetObjary(),
影响效率,

应该怎么修改呢?
...全文
133 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
丰云 2010-01-20
  • 打赏
  • 举报
回复
学习ing...
g_lbz 2010-01-19
  • 打赏
  • 举报
回复


var query1 =
from obj in result
let jary = obj.GetObjary()
select new
{
obj.ID,
obj.Name,
objary = jary ,
keyObjary = (from o in jary
select new
{
o.ID,
parts = GetParts( o.ID)
}).ToArray()
};
jet108 2010-01-18
  • 打赏
  • 举报
回复
试试这样:【let的使用】
var query1 =
from obj in result
let jary = obj.GetObjary()
select new
{
obj.ID,
obj.Name,
objary = jary ,
keyObjary = (from o in jary
select new
{
o.ID,
parts = GetParts( o.ID)
}).ToArray()
};
ILOVE_ASPNET 2010-01-14
  • 打赏
  • 举报
回复
up

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧