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

还是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类型吧