powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / В выборке возвращается одна и та же запись несколько раз
4 сообщений из 4, страница 1 из 1
В выборке возвращается одна и та же запись несколько раз
    #38341137
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю запрос через SSMS:
Код: sql
1.
select  * from mvOrgCatalogueBranches where OrganizationID = 3042 order by Leftkey


Возвращается что положено:

Код: plaintext
1.
2.
3.
3042	9579	3	Раздел 1 Материалы строительные, дорожные и для реставрационно-восстановительных работ
3042	9580	4	1. Строительные и дорожные материалы
3042	9922	739	1.10. Нерудные материалы
3042	9940	784	Щебень гравийный, фракция, мм:

Делаю тоже самое в линке:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
        Dim x As Integer = 1, iIsMaterial As Integer = IIf(mExport = ExportType.etPricesMat, 1, 0), oList As IEnumerable, iCatCount As Integer, iTotal As Integer
        If mOrganizationID = 0 Then
            Dim mvC As List(Of mvCatalogue) = (From v In db.mvCatalogue Where v.BranchPriceCount > 0 And v.Level > 2 And v.IsMaterialCatalogue = iIsMaterial Order By v.LeftKey).ToList
            iTotal  = db.mvCatalogue.Where(Function(v) v.BranchPriceCount > 0 And v.Level > 2 And v.IsMaterialCatalogue = iIsMaterial).Sum(Function(v) v.PriceCount).Value
            iCatCount = mvC.Count
            oList = mvC
        Else
            Dim mvOCB As List(Of mvOrgCatalogueBranches) = (From v In db.mvOrgCatalogueBranches Where v.OrganizationID = mOrganizationID Order By v.LeftKey).ToList
            iTotal = db.mvOrgProduction.Count(Function(v) v.OrganizationID = mOrganizationID)
            iCatCount = mvOCB.Count
            oList  = mvOCB
        End If


Что получается невозбранно видно на картинке. Я переписывал запрос к mvOrgCatalogueBranches и так и сяк, результат одинаковый — 14 идентичных записей. Пробовал перегенерировать модель — не помогло.

Вопрос: почему линк так непристойно себя ведет?
...
Рейтинг: 0 / 0
В выборке возвращается одна и та же запись несколько раз
    #38342110
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy, странное поведение. Базы точно одинаковые в обоих случаях? Переменная mvOCB тоже содержит дубликаты?
...
Рейтинг: 0 / 0
В выборке возвращается одна и та же запись несколько раз
    #38342131
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
База одна и та же. Проблема представляется мне в том, что во вьюшке не было поля, содержащего уникальные значения, а ключевым полем в модели стало OrganizationID. Было так:
Код: sql
1.
2.
3.
4.
5.
	select distinct OP.OrganizationID, C2.CatalogueID, C2.LeftKey, C2.Name 
	from mvOrgProduction OP
	inner join tblCatalogue C on C.CatalogueID = OP.CatalogueID 
	left join tblCatalogue C2 on C2.LeftKey<=C.LeftKey and C2.RightKey>=C.RightKey 
	where C2.Level > 2


Сделал так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
with v as (
	select distinct OP.OrganizationID, C2.CatalogueID, C2.LeftKey, C2.Name 
	from mvOrgProduction OP
	inner join tblCatalogue C on C.CatalogueID = OP.CatalogueID 
	left join tblCatalogue C2 on C2.LeftKey<=C.LeftKey and C2.RightKey>=C.RightKey 
	where C2.Level > 2
)
select NEWID() ID, *
from v

и проблема ушла.

Попробую откатить и сделать два поля ключевыми, только что обнаружил такую возможность.
...
Рейтинг: 0 / 0
В выборке возвращается одна и та же запись несколько раз
    #38342225
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, с двумя ключевыми полями вьюшка заработала и в первом варианте.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / В выборке возвращается одна и та же запись несколько раз
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]