var query = from d in edm.Order_Details join order in edm.Orders on d.OrderID equals order.OrderID select new { OrderId = order.OrderID, ProductId = d.ProductID }; LINQ to Entities "In"
第一个:Contains没有问题,我就这样用,比如: using(var db=new MyDataEntities()){ List<Product> prods=db.Products.Where(p=>(from s in db.Sales select s.ProductId).Contains(p.ProductId)); }第二个问题:用Include,比如: using(var db=new MyDataEntities()){ List<Product> prods=db.Products.Include("Category").ToList(); }还要不懂的,google即可,不用求人
left outer List<TechnicalGuideModelObj> x = (from z in _list join j in db.drawings on z.NTK_No equals j.NTK_No into k join i in db.photos on z.NTK_No equals i.NTK_No into l from j in k.DefaultIfEmpty() from i in l.DefaultIfEmpty() select new TechnicalGuideModelObj(z)
join order in edm.Orders
on d.OrderID equals order.OrderID
select new
{
OrderId = order.OrderID,
ProductId = d.ProductID
};
LINQ to Entities "In"
也可以快速上手
访问起来非常迅速,程序中都不用写 join之类的语法
misoshu = rw.MiaoShu;
jierenwuid = rw.USER.Name;
farenwuid = rw.quest.USER.Name;
mokuai = rw.quest.MODE.MoKuai;
using(var db=new MyDataEntities()){
List<Product> prods=db.Products.Where(p=>(from s in db.Sales select s.ProductId).Contains(p.ProductId));
}第二个问题:用Include,比如:
using(var db=new MyDataEntities()){
List<Product> prods=db.Products.Include("Category").ToList();
}还要不懂的,google即可,不用求人
join j in db.drawings
on z.NTK_No equals j.NTK_No into k join i in db.photos
on z.NTK_No equals i.NTK_No into l from j in k.DefaultIfEmpty()
from i in l.DefaultIfEmpty()
select new TechnicalGuideModelObj(z)
我的怎么报错我的是直接传一个string[]数组不行啊。。第二个,没有建外键好像是不行的啊。。
http://msdn.microsoft.com/en-us/library/bb738550.aspx
访问起来非常之快 对这句表示质疑,都知道LINQ是通过对底层的数据访问容器进行了类型封装,再快也绝对快不过最底层的数据访问容器。当然,LINQ在大多数应用中,性能还是可以接受的,毕竟方便,让BLL层的开发人员更加方便,甚至不需要去深究数据库的结构
用join肯定要有外键的,没有当然不行