读书人

还是2个表连接查询有关问题

发布时间: 2012-01-26 19:40:46 作者: rapoo

还是2个表连接查询问题
select newsTitle,catalogName from News n,Catalog c
where n.CID=c.CatalogID
这句用linq语句如何写啊。搞了很久了。郁闷
看了这里是不是应该这样啊,可是返回类型是什么啊
http://msdn.microsoft.com/zh-cn/library/bb629295.aspx

C# code
 public List<News> GetCustomersWithOrders()        {            List<News> p = (from n in objDataContext.News                    where n.CID == n.NewsCatalog.CatalogID                    select new {类别=n.NewsCatalog.CatalogName,标题=n.NewsTitle,日期=n.NewsDate }).ToList();            return p;        }


我尝试很多了。前面的方法都解决不了,这么简单的语句到linq里面到底如何处理啊。我是想使用三层,要返回一个类型

[解决办法]
C# code
public List<News> GetCustomersWithOrders()        {            List<News> p = (from n in objDataContext.News                            from c in objDataContext.Catalog                    where n.CID == c.CatalogID                    select new News(){类别=n.NewsCatalog.CatalogName,标题=n.NewsTitle,日期=n.NewsDate }).ToList();            return p;        }
[解决办法]
LINQ使用JOIN
var q =
from e in db.Employees
join o in db.Books on e.EmployeeID equals o.EmployeeID into b
from x in b.DefaultIfEmpty()
select new
{
e.ID,
e.Name,
o.BookName
};
[解决办法]
探讨
我知道这个最后返回的是object类型,在三层中如何去返回呢,总不能是object类型吧

读书人网 >.NET

热点推荐