- 1
- 2
- 3
select ...
where ISNULL(e2e.ItemId, -1) = (case when @itemId < 1 then ISNULL(e2e.ItemId, -1) else @itemId end)
and ISNULL(e2e.LeftId, -1) = (case when @parentItemId < 1 then ISNULL(e2e.LeftId, -1) else @parentItemId) end
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 2
−861.7
select ...
where ISNULL(e2e.ItemId, -1) = (case when @itemId < 1 then ISNULL(e2e.ItemId, -1) else @itemId end)
and ISNULL(e2e.LeftId, -1) = (case when @parentItemId < 1 then ISNULL(e2e.LeftId, -1) else @parentItemId) end
+132.4
var ChildListWithCondition =
(from list in ChildList
join requestedRelatedEntityIds in EntitiesIdInList on list.ParentEntityId equals requestedRelatedEntityIds
join requestedEntityType in EntityTypeIdToTake on list.EntityTypeId equals requestedEntityType)
.Select(list =>
new LayoutDataOutputStructure()
{
ParentEntityId = list.ParentEntityId,
EntityId = list.EntityId,
FieldId = list.FieldId,
FieldValue = list.FieldValue,
EntityTypeId = list.EntityTypeId,
RelationTypeToParent = list.RelationTypeToParent,
FieldValueId = list.FieldValueId
})
.GroupBy(item => item.ParentEntityId)
.Select(group => new
{
ParentEntityId = group.Key,
GroupEntityTypeId = group.GroupBy(item => item.EntityTypeId)
.Select(group2 => new
{
EntityTypeId = group2.Key,
EntityRelation = group2.Select(item => item.RelationTypeToParent).FirstOrDefault(),
GroupEntityId = group2.GroupBy(group3 => group3.EntityId)
.Select(group3 => new
{
EntityId = group3.Key,
Fields = group3.GroupBy(group4 => group4.FieldId)
.Select(group4 => new { FieldId = group4.Key, FieldValues = group4 })
})
}
)
}
)
.ToList();