首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

linq 左连接如何改

2013-04-20 
linq 左连接怎么改var Query (from adviceNoteInstance in adviceNoteEarnestMoneyTableEntities.Advice

linq 左连接怎么改
            var Query = (from adviceNoteInstance in adviceNoteEarnestMoneyTableEntities.AdviceNoteEarnestMoneyInstance.Where(a => a.AdviceID == AdvID && (a.AdviceState != 40 || a.UserName == "-"))
                         select new
                         {
                             adviceNoteInstance.InstanceID,
                             adviceNoteInstance.AdviceID,
                             adviceNoteInstance.AdviceState,
                             adviceNoteInstance.FState,
                             adviceNoteInstance.UserName,
                             adviceNoteInstance.CreateTime,
                             adviceNoteInstance.FinishedTime,
                             MaxInstanceID = adviceNoteEarnestMoneyTableEntities.AdviceNoteEarnestMoneyInstance.Where(a => a.AdviceID == AdvID && (a.AdviceState != 40 || a.UserName == "-")).Max(a => a.InstanceID)
                         }).OrderBy(a => a.InstanceID);

dbo.AdviceNoteTable 左联接上面的主表   (adviceNoteInstance.AdviceID 关联字段
)  怎么改  我不会lambda的写法 
[解决办法]
var Query = (from adviceNoteInstance in adviceNoteEarnestMoneyTableEntities.AdviceNoteEarnestMoneyInstance.Where(a => a.AdviceID == AdvID && (a.AdviceState != 40 
[解决办法]
 a.UserName == "-"))
                     join adviceNodeTable in AdviceNoteTable
                     on adviceNoteInstance.AdviceID equals adviceNodeTable.AdviceID into joinAdviceNoteTableEmp
                     from advice in joinAdviceNoteTableEmp.DefaultIfEmpty()


                         select new
                         {
                            adviceName=advice != null ? advice.Name : null, //这一行我随便写的,给你参考怎么取AdviceNoteTable表属性

                             adviceNoteInstance.InstanceID,
                             adviceNoteInstance.AdviceID,
                             adviceNoteInstance.AdviceState,
                             adviceNoteInstance.FState,
                             adviceNoteInstance.UserName,
                             adviceNoteInstance.CreateTime,
                             adviceNoteInstance.FinishedTime,
                             MaxInstanceID = adviceNoteEarnestMoneyTableEntities.AdviceNoteEarnestMoneyInstance.Where(a => a.AdviceID == AdvID && (a.AdviceState != 40 
[解决办法]
 a.UserName == "-")).Max(a => a.InstanceID)
                         }).OrderBy(a => a.InstanceID);

[解决办法]
http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b
[解决办法]

引用:
var Query = (from adviceNoteInstance in adviceNoteEarnestMoneyTableEntities.AdviceNoteEarnestMoneyInstance.Where(a => a.AdviceID == AdvID && (a.AdviceState != 40 
[解决办法]
 a.UserName == ……


来晚了。

热点排行