当前位置: 代码迷 >> ASP.NET >> 关于lambda表达式中group join的有关问题
  详细解决方案

关于lambda表达式中group join的有关问题

热度:306   发布时间:2013-02-25 00:00:00.0
关于lambda表达式中group join的问题
表A:AID,NAME,TYPEID

表B:BID,NAME


假设表A和表B对应的实体分别为EA和EB,实体类中没有设置外键。
现要查询A.*,B.NAME AS TYPENAME

EA.GroupJoin(
EB, 
u => u.TYPEID, 
ui => ui.BID, 
(u, ui) => new { u, ui }).Select(o => o)

请问红字部分该怎么写?只查询目标字段,多的字段不要。

因为自己在尝试的过程中发现,u.AID,u.NAME,u.TYPEID,是没问题的,但是ui.NAME不行。
很奇怪,所以发帖求问,谢谢各位~

------解决方案--------------------------------------------------------
C# code
public partial class _Default : System.Web.UI.Page{    public class A    {        public string AID { get; set; }        public string Name { get; set; }        public string TypeId { get; set; }    }    public class B    {        public string BID { get; set; }        public string Name { get; set; }    }    protected void Page_Load(object sender, EventArgs e)    {        List<A> listA = new List<A>();        listA.Add(new A { AID = "1", Name = "一号", TypeId = "1" });        listA.Add(new A { AID = "2", Name = "二号", TypeId = "2" });        listA.Add(new A { AID = "3", Name = "三号", TypeId = "3" });        List<B> listB = new List<B>();        listB.Add(new B { BID = "1", Name = "B一号" });        listB.Add(new B { BID = "2", Name = "B二号" });        var results = listA.GroupJoin(listB, a => a.TypeId, b => b.BID, (a, b) => new        {            a,            BID = b.Max(o => o.BID),            Name = b.Max(o => o.Name)        }).Select(o => new        {            AID = o.a.AID,            AName = o.a.Name,            TypeId = o.a.TypeId,            BID = o.BID,            BName = o.Name        });        foreach (var item in results)        {            Response.Write(item.AID);            Response.Write("     ");            Response.Write(item.AName);            Response.Write("     ");            Response.Write(item.TypeId);            Response.Write("     ");            Response.Write(item.BID);            Response.Write("     ");            Response.Write(item.BName);            Response.Write("<br/>");        }    }}
  相关解决方案