3
我有以下查询:LINQ到SQL - 加入,计数
var result = (
from role in db.Roles
join user in db.Users on role.RoleID equals user.RoleID
where
user.CreatedByUserID == userID
orderby user.FirstName ascending
select new UserViewModel
{
UserID = user.UserID,
PhotoID = user.PhotoID.ToString(),
FirstName = user.FirstName,
LastName = user.LastName,
FullName = user.FirstName + " " + user.LastName,
Email = user.Email,
PhoneNumber = user.Phone,
AccessLevel = role.Name
});
现在,我需要修改此查询...其他表我是台底交易。我想统计用户上个月和去年创建的交易数量。我试过这样的:
var result = (
from role in db.Roles
join user in db.Users on role.RoleID equals user.RoleID
//join dealsYear in db.Deals on date.Year equals dealsYear.DateCreated.Year
join dealsYear in
(
from deal in db.Deals
group deal by deal.DateCreated into d
select new { DateCreated = d.Key, dealsCount = d.Count() }
) on date.Year equals dealsYear.DateCreated.Year into dYear
join dealsMonth in
(
from deal in db.Deals
group deal by deal.DateCreated into d
select new { DateCreated = d.Key, dealsCount = d.Count() }
) on date.Month equals dealsMonth.DateCreated.Month into dMonth
where
user.CreatedByUserID == userID
orderby user.FirstName ascending
select new UserViewModel
{
UserID = user.UserID,
PhotoID = user.PhotoID.ToString(),
FirstName = user.FirstName,
LastName = user.LastName,
FullName = user.FirstName + " " + user.LastName,
Email = user.Email,
PhoneNumber = user.Phone,
AccessLevel = role.Name,
DealsThisYear = dYear,
DealsThisMonth = dMonth
});
但这里甚至语法不正确。 有什么想法?
顺便说一句,有什么好的书LINQ to SQL的例子吗?
“甚至语法不正确”意味着你得到一个错误? – 2010-05-28 07:11:34
“DealsThisYear = dYear”不正确(句法) – 2010-05-28 07:16:29