Повторитель показывает одинаковые значения от многих ко многим таблицам - PullRequest
0 голосов
/ 04 октября 2018

Извините за плохую почту и английский, я новичок в stackoverflow.

Я написал сложный комментарий SQL к таблицам объединения, который также содержит множество таблиц.

Когда я выполняю взапрос возвращает правильные данные.Я использую это представление в репитере.Он показывает те же значения из таблиц ManytoMany.Я перепробовал все, что знаю, но не смог решить мою проблему.Надеюсь, Вы понимаете, о чем я.Я добавил коды и результаты.

SELECT   ROW_NUMBER() OVER (ORDER BY secID,ListID,ord) ROW_NUM, *
FROM  (SELECT        dbo.MotorList.section_id AS 'secId' ,dbo.MDIsignal.name AS Sname, dbo.MotorList.mList_id AS 'ListID', dbo.MotorType.name AS Type, dbo.Project.project_id, dbo.Section.code, dbo.MotorList.Mindex AS 'Index', dbo.MotorList.stat AS 'Stat', dbo.MotorList.description

FROM            dbo.MDI INNER JOIN
                         dbo.MDIsignal ON dbo.MDI.mDIsgnl_id = dbo.MDIsignal.mDIsgnl_id INNER JOIN
                         dbo.MotorList ON dbo.MDI.mList_id = dbo.MotorList.mList_id INNER JOIN
                         dbo.Section ON dbo.MotorList.section_id = dbo.Section.section_id INNER JOIN
                         dbo.Project ON dbo.Section.project_id = dbo.Project.project_id INNER JOIN
                         dbo.MotorType ON dbo.MotorList.motor_id = dbo.MotorType.motor_id
  UNION 
SELECT        dbo.MotorList.section_id AS 'secId' ,dbo.MDOsignal.name AS Sname, dbo.MotorList.mList_id AS 'ListID', dbo.MotorType.name AS 'Type', dbo.Project.project_id, dbo.Section.code, dbo.MotorList.Mindex AS 'Index', dbo.MotorList.stat AS 'Stat', dbo.MotorList.description 

FROM        dbo.MDO INNER JOIN
                         dbo.MDOsignal ON dbo.MDO.mDOsgnl_id = dbo.MDOsignal.mDOsgnl_id INNER JOIN
                         dbo.MotorList ON dbo.MDO.mList_id = dbo.MotorList.mList_id INNER JOIN
                         dbo.Section ON dbo.MotorList.section_id = dbo.Section.section_id INNER JOIN
                         dbo.Project ON dbo.Section.project_id = dbo.Project.project_id INNER JOIN
                         dbo.MotorType ON dbo.MotorList.motor_id = dbo.MotorType.motor_id
)a

Здесь правильные значения, которые возвращают SQL

Вот как я привязываю повторитель к просмотру:

        var list = db.SignalList_S.Where(a => a.secId == sec_id).ToList();
        RptListe.DataSource = list;
        RptListe.DataBind();

Вот то, что показывает те же значения ретранслятора

Я пометил некоторые значения, чтобы их было проще отображать.

...