当前位置:编程学习 > C#/ASP.NET >>

linq 查询怎么写

strSQL = "SELECT     dbo.inv_stock.HSGD_tag, dbo.inv_stock.center_name, inv_product_1.product_id, inv_product_1.condition_id, inv_product_1.status_id, " & _
               "    inv_product_1.cost, dbo.ref_inv_product_condition.condition_name, dbo.ref_inv_product_status.status, dbo.ref_inv_product_sub_category.sub_name, " & _
               "    dbo.ref_inv_product_description.description, dbo.inv_vendor_warranty.date_end AS vendor_date, dbo.inv_manu_warranty.date_end AS manu_date, " & _
               "    dbo.inv_purchase_history.date_delivered, inv_product_1.part_number, inv_product_1.sub_id, inv_product_1.serial_number, " & _
               "    dbo.ref_inv_product_category.category_name, inv_product_1.manu_id, dbo.inv_manufacturer.manu_name, dbo.inv_vendor.vendor_name, " & _
               "    dbo.inv_purchase_history.purchase_id, dbo.inv_purchase_history.purchase_order, dbo.inv_vendor_warranty.vendor_id, dbo.inv_stock.equipment_id, " & _
               "    inv_product_1.model " & _
               "FROM         dbo.inv_vendor INNER JOIN" & _
               "    dbo.inv_purchase_history ON dbo.inv_vendor.vendor_id = dbo.inv_purchase_history.vendor_id RIGHT OUTER JOIN" & _
               "    (SELECT * FROM dbo.inv_product " & productCondition & " ) AS inv_product_1 INNER JOIN" & _
               "    dbo.inv_stock ON inv_stock.disposed = 0 AND " & stockCondition & " inv_product_1.product_id = dbo.inv_stock.product_id INNER JOIN" & _
               "    dbo.ref_inv_product_category ON inv_product_1.category_id = dbo.ref_inv_product_category.category_id INNER JOIN" & _
               "    dbo.ref_inv_product_condition ON inv_product_1.condition_id = dbo.ref_inv_product_condition.condition_id INNER JOIN" & _
               "    dbo.ref_inv_product_status ON inv_product_1.status_id = dbo.ref_inv_product_status.status_id INNER JOIN" & _
               "    dbo.ref_inv_product_sub_category ON inv_product_1.sub_id = dbo.ref_inv_product_sub_category.sub_id AND " & _
               "    dbo.ref_inv_product_category.category_id = dbo.ref_inv_product_sub_category.category_id INNER JOIN" & _
               "    dbo.inv_manufacturer ON inv_product_1.manu_id = dbo.inv_manufacturer.manu_id LEFT OUTER JOIN" & _
               "    dbo.inv_manu_warranty ON inv_product_1.product_id = dbo.inv_manu_warranty.product_id LEFT OUTER JOIN" & _
               "    dbo.ref_inv_product_description ON inv_product_1.part_number = dbo.ref_inv_product_description.part_number AND " & _
               "    inv_product_1.manu_id = dbo.ref_inv_product_description.manu_id ON " & _
               "    dbo.inv_purchase_history.purchase_id = inv_product_1.purchase_id LEFT OUTER JOIN" & _
               "    dbo.inv_vendor_warranty ON inv_product_1.product_id = dbo.inv_vendor_warranty.product_id"
如题所示,求这个linq查询语句的写法,刚刚接触,非常感谢 --------------------编程问答-------------------- 这么一大坨。。。。
等好心人吧.我是真心看不下去 --------------------编程问答-------------------- 能不能给我解释下linq中 INNER JOIN 这些关键字怎么用的 谢谢 最好举个例子 --------------------编程问答-------------------- 这 这 这 好歹放在插入源代码块里吧。

 strSQL = "SELECT dbo.inv_stock.HSGD_tag, dbo.inv_stock.center_name, inv_product_1.product_id, inv_product_1.condition_id, inv_product_1.status_id, " & _
  " inv_product_1.cost, dbo.ref_inv_product_condition.condition_name, dbo.ref_inv_product_status.status, dbo.ref_inv_product_sub_category.sub_name, " & _
  " dbo.ref_inv_product_description.description, dbo.inv_vendor_warranty.date_end AS vendor_date, dbo.inv_manu_warranty.date_end AS manu_date, " & _
  " dbo.inv_purchase_history.date_delivered, inv_product_1.part_number, inv_product_1.sub_id, inv_product_1.serial_number, " & _
  " dbo.ref_inv_product_category.category_name, inv_product_1.manu_id, dbo.inv_manufacturer.manu_name, dbo.inv_vendor.vendor_name, " & _
  " dbo.inv_purchase_history.purchase_id, dbo.inv_purchase_history.purchase_order, dbo.inv_vendor_warranty.vendor_id, dbo.inv_stock.equipment_id, " & _
  " inv_product_1.model " & _
  "FROM dbo.inv_vendor INNER JOIN" & _
  " dbo.inv_purchase_history ON dbo.inv_vendor.vendor_id = dbo.inv_purchase_history.vendor_id RIGHT OUTER JOIN" & _
  " (SELECT * FROM dbo.inv_product " & productCondition & " ) AS inv_product_1 INNER JOIN" & _
  " dbo.inv_stock ON inv_stock.disposed = 0 AND " & stockCondition & " inv_product_1.product_id = dbo.inv_stock.product_id INNER JOIN" & _
  " dbo.ref_inv_product_category ON inv_product_1.category_id = dbo.ref_inv_product_category.category_id INNER JOIN" & _
  " dbo.ref_inv_product_condition ON inv_product_1.condition_id = dbo.ref_inv_product_condition.condition_id INNER JOIN" & _
  " dbo.ref_inv_product_status ON inv_product_1.status_id = dbo.ref_inv_product_status.status_id INNER JOIN" & _
  " dbo.ref_inv_product_sub_category ON inv_product_1.sub_id = dbo.ref_inv_product_sub_category.sub_id AND " & _
  " dbo.ref_inv_product_category.category_id = dbo.ref_inv_product_sub_category.category_id INNER JOIN" & _
  " dbo.inv_manufacturer ON inv_product_1.manu_id = dbo.inv_manufacturer.manu_id LEFT OUTER JOIN" & _
  " dbo.inv_manu_warranty ON inv_product_1.product_id = dbo.inv_manu_warranty.product_id LEFT OUTER JOIN" & _
  " dbo.ref_inv_product_description ON inv_product_1.part_number = dbo.ref_inv_product_description.part_number AND " & _
  " inv_product_1.manu_id = dbo.ref_inv_product_description.manu_id ON " & _
  " dbo.inv_purchase_history.purchase_id = inv_product_1.purchase_id LEFT OUTER JOIN" & _
  " dbo.inv_vendor_warranty ON inv_product_1.product_id = dbo.inv_vendor_warranty.product_id"
--------------------编程问答-------------------- 谢谢提醒  --------------------编程问答-------------------- Linq to Object
比如:

Parent p1 = new Parent() { ID = 1, ParentName = "父亲1", ParentTime = "2012-08-01" };
Parent p2 = new Parent() { ID = 2, ParentName = "父亲2", ParentTime = "2012-08-02" };
Parent p3 = new Parent() { ID = 3, ParentName = "父亲3", ParentTime = "2012-08-03" };
Parent p4 = new Parent() { ID = 4, ParentName = "父亲4", ParentTime = "2012-08-04" };
Parent p5 = new Parent() { ID = 5, ParentName = "父亲5", ParentTime = "2012-08-05" };

Child c1 = new Child() { ChildID = 1, ChildName="儿子1", ChildTime = "2012-08-01", ParentID=1 };
Child c2 = new Child() { ChildID = 2, ChildName = "儿子2", ChildTime = "2012-08-01", ParentID = 2 };
Child c3 = new Child() { ChildID = 3, ChildName = "儿子3", ChildTime = "2012-08-01", ParentID = 2 };
Child c4 = new Child() { ChildID = 4, ChildName = "儿子4", ChildTime = "2012-08-01", ParentID = 1 };
Child c5 = new Child() { ChildID = 5, ChildName = "儿子5", ChildTime = "2012-08-01", ParentID = 4 };

IList<Parent> parents = new List<Parent>() { p1,p2,p3,p4,p5 };
IList<Child> childs = new List<Child>() { c1,c2,c3,c4,c5 };

var manyQuery = from p in parents join o in childs on p.ID equals o.ParentID select new { ID=p.ID,ParentName=p.ParentName,ChildID=o.ChildID,ChildName=o.ChildName,ParentID=o.ParentID};
foreach (var mitem in manyQuery.ToList())
{
   Console.WriteLine(mitem.ID + "-->" + mitem.ParentName+"-->"+mitem.ChildID+"-->"+mitem.ChildName);
}
--------------------编程问答-------------------- var qu = from a in A
  join b in B
  where a.ID equals b.ID
  select a; --------------------编程问答--------------------
引用 6 楼  的回复:
var qu = from a in A
  join b in B
  where a.ID equals b.ID
  select a;

var qu = from a in A
  join b in B
  on a.ID equals b.ID
  select new{a,b};
形式是这样
--------------------编程问答-------------------- 嗯 谢谢 理解了 但是希望能够帮我上面代码的一小部分作为实例吗? 因为我对sql server 也没有学习过! --------------------编程问答-------------------- 上面不是给了例子么? --------------------编程问答-------------------- 没说明白就是用我上面的那条查询语句写出一部分! --------------------编程问答--------------------
引用 1 楼  的回复:
这么一大坨。。。。
等好心人吧.我是真心看不下去

就是就是的,好一大坨 --------------------编程问答-------------------- 这一大片,谁能有耐心看完了得有多大的毅力,楼主就是自己不相信自己的毅力了直接放上了吧 --------------------编程问答--------------------   --------------------编程问答-------------------- 这么多?你自己看过没  = =  --------------------编程问答-------------------- 看过了 新手实验了三天还没成功啊 所以才来求救的  --------------------编程问答-------------------- 新手实验了三天还是不对啊 
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,