Мы пытаемся перейти на NHibernate 3.0, и теперь у меня проблема со следующим запросом Linq. Он возвращает «Только одно выражение может быть указано в списке выбора, когда подзапрос не введен с EXISTS». ошибка.
Это запрос linq в контроллере.
var list = (from item in ItemTasks.FindTabbedOrDefault(tab)
select new ItemSummary
{
Id = item.Id,
LastModifyDate = item.LastModifyDate,
Tags = (from tag in item.Tags
select new TagSummary
{
ItemsCount = tag.Items.Count,
Name = tag.Name
}).ToList(),
Title = item.Title
});
и ниже приведен SQL, сгенерированный для этого запроса
select TOP ( 1 /* @p0 */ ) item0_.Id as col_0_0_,
item0_.LastModifyDate as col_1_0_,
(select (select cast(count(* ) as INT)
from dbo.ItemsToTags items3_,
dbo.Item item4_
where tag2_.Id = items3_.Tag_id
and items3_.Item_id = item4_.Id),
tag2_.Name
from dbo.ItemsToTags tags1_,
dbo.Tag tag2_
where item0_.Id = tags1_.Item_id
and tags1_.Tag_id = tag2_.Id) as col_2_0_,
item0_.Title as col_3_0_ from dbo.Item item0_ order by item0_.ItemPostDate desc
ps: если я удаляю свойство Tags в запросе linq, оно работает нормально.
Где проблема в запросе?
Заранее спасибо.