首页 新闻 搜索 专区 学院

求自然连接查询Sql语句的Linq表达式!

0
悬赏园豆:10 [已解决问题] 解决于 2008-04-21 17:42
最近学习Linq,有些不懂,求如下sql的Linq表达式:<br>(1)select A.a,B.b <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from t1 as A,t2 as B<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; where A.ID=B.ID ;<br><br>&nbsp;(2) delete from t1 as A, t2 as B<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; where A.ID=B.ID ; (要表达的意思是:如果从用户表中删除用户信息则把他在评论表中的评论也全部删除) <br><br>谢谢<br>
Charleston的主页 Charleston | 初学一级 | 园豆:10
提问于:2008-03-28 08:41
< >
分享
最佳答案
0
var q = from a in db.Customers from b in db.Employees where a.City == b.City select new { a.City, b.Address }; SELECT [t0].[City], [t1].[Address] FROM [dbo].[Customers] AS [t0], [dbo].[Employees] AS [t1] WHERE [t0].[City] = [t1].[City] 对于多表删除好像是一对多关系,参看这个: Order与OrderDetail是一对多关系,首先DeleteOnSubmit其OrderDetail(多端),其次DeleteOnSubmit其Order(一端)。因为一端是主键。 var orderDetails = from o in db.OrderDetails where o.Order.CustomerID == "WARTH" && o.Order.EmployeeID == 3 select o; var order = (from o in db.Orders where o.CustomerID == "WARTH" && o.EmployeeID == 3 select o).First(); foreach (OrderDetail od in orderDetails) { db.OrderDetails.DeleteOnSubmit(od); } db.Orders.DeleteOnSubmit(order); db.SubmitChanges();
李永京 | 老鸟四级 |园豆:3114 | 2008-03-29 10:27
其他回答(3)
0
晕 要代码啊 不知道自己去网上搜吗? 你在用之前 先好好学习好 MSDN 上面都有的
yeyang | 园豆:418 (菜鸟二级) | 2008-03-28 13:09
0
linq sql 看了李兄的回答还是一知半解,还是先看看语法去
伊牛娃 | 园豆:207 (菜鸟二级) | 2008-03-31 09:27
0
Product pro = db.Products.Single(b => b.Category.CategoryName == categoryName); db.Products.DeleteOnSubmit(pro); db.SubmitChanges(); 这里例子是我用来删除报表里面名为categoryName的Category条目时候,同时把Products表中的记录删除,我不知道你的数据库的具体东西,按照这样的方法删除吧 (不过得先建立外键关系) 括号里面的是LAMBDA表达式
NafLian | 园豆:215 (菜鸟二级) | 2008-04-03 18:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册