日期:2014-05-20  浏览次数:20784 次

求高效查旬语句,万分感谢

 public class StatusA
    {
        public String StatusID { get; set; }
        public String BID { get; set; }
    }

    public class StatusB : StatusA
    {
        public Boolean IsDone { get; set; }
    }

    public class ValueA
    {
        public String VID { get; set; }
    }
    public class ValueB:ValueA
    {
        public String StatusID { get; set; }
        public String BID { get; set; }
    }

    public class ddd
    {
        public List<StatusA> Statusa = new List<StatusA>();
        public List<StatusB> Statusb = new List<StatusB>();
        public List<Value> ValueA = new List<Value>();
        public List<Value> ValueB = new List<Value>();


    }


如上结构,需要查出的结果 为
Statusa与Statusb -->StatusID,BID相同,并且Statusb中的S==true;
上述结果与ValueA-->StatusID,BID相同,并且ValueA的VID在ValueA中不存在;

求最快之linq语句,万分感谢!
另如有非集合建议,请不吝赐教!

------解决方案--------------------
用linq吧
 var s = from sa in Statusa
                    from sb in Statusb
                    from va in ValueA
                    from vb in ValueB
                    where sa.BID.Trim() == sb.BID.Trim() && sb.IsDone && sb.StatusID.Trim() == vb.StatusID.Trim() && sb.BID == vb.BID && vb.VID.Trim() == va.VID.Trim()
                    select new { sa, sb, va, vb };
------解决方案--------------------
各位早安。。。
我是群里来的。。。
------解决方案--------------------
引用:
更正一下需求
Statusa与Statusb -->StatusID,BID相同,并且Statusb中的S==true;
上述结果与Valueb-->StatusID,BID相同,并且Valueb的VID在ValueA中不存在;


SQL code?12345select from StatusA as sa inner joinStatusB as sb o……

where