Как привязать представление списка к нескольким объектам?

#c# #asp.net #entity-framework #listview #entity-framework-6

#c# #asp.net #entity-framework #listview #entity-framework-6

Вопрос:

Я хочу привязать Listview к нескольким объектам, поэтому я пытаюсь сделать что-то подобное, но я сталкиваюсь с двумя проблемами :

  1. Я теряю функцию автозаполнения, не могу извлечь выгоду из строго типизированного управления.
  2. Получаю ошибку компиляции.

  <asp:ListView ID="lv_EmpSpecialVacations" runat="server" ItemPlaceholderID="RelationContainer" ItemType="Repositories.EmployeeSpecialHolidayRepository.AllIncluding(a=>a.SPECIALHOLIDAY).Where(a=>a.EMP_NUM == EmployeeNum);">
    <LayoutTemplate>
        <fieldset id="FieldSet1">
            <legend>Relations</legend>
            <br />
            <a id="lbtnInitInsert" class="btn btn-primary btn-md white_cr" onclick="EditForInsert(this);"><span class="glyphicon glyphicon-plus-sign"></span></a>
            <br />
            <br />
            <div class="container-fluid">
                <div class="row">
                    <div class="col-lg-4">
                        END_DATE
                    </div>
                    <div class="col-lg-4">
                        HOLIDAY_NAME
                    </div>
                    <div class="col-lg-4">
                    </div>
                </div>
            </div>
            <asp:PlaceHolder ID="RelationContainer" runat="server"></asp:PlaceHolder>
        </fieldset>
    </LayoutTemplate>
    <ItemTemplate>
        <div id="toappend">
        </div>
        <div class="container-fluid">
            <div class="row">
                <div class="col-lg-4 code">

                    <%#:Item.Select(a=>a.END_DATE)>
                </div>
                <div class="col-lg-4 name">
                    <%#:Item.Select(a=>a.SPECIALHOLIDAY.HOLIDAY_NAME)%>
                </div>
                <div class="col-lg-4">
                    <a id="lbtn_edit" class="btn btn-primary btn-md white_cr" onclick="Edit(this);"><span class="glyphicon glyphicon-pencil"></span></a>
                </div>
            </div>
        </div>
    </ItemTemplate>
</asp:ListView>
  

Я хочу знать, как привязать ListView к нескольким объектам без потери строго типизированной привязки?

Комментарии:

1. Что вы имеете в виду под «несколькими объектами»? Несколько типов или несколько экземпляров одного и того же типа?

2. @Dexion я имею в виду несколько объектов, таких как: SPECIALHOLIDAY И EMPSPECIALHOLIDAY две разные сущности со связью

3. самый простой способ — создать «объединение», например, с двумя общедоступными свойствами (specialholiday и empspecialholiday) и использовать их для привязки.

Ответ №1:

Самый простой способ — создать «объединение», например, с двумя общедоступными свойствами (specialholiday и empspecialholiday) и использовать их для привязки.

Ответ №2:

В нем будет одно отношение SPECIALHOLIDAY и EMPSPECIALHOLIDAY тому подобное Holidayname , если вызвать его в объединении или во внутреннем соединении, оно будет работать для вас, как в этом примере

Пример объединения:

 SELECT Holidayname FROM SPECIALHOLIDAY
UNION
SELECT Holidayname FROM EMPSPECIALHOLIDAY
ORDER BY Holidayname
  

Пример внутреннего соединения:

 SELECT * from  SPECIALHOLIDAY as SP
inner join EMPSPECIALHOLIDAY as ES
on ES.Holidayname = SP.Holidayname 
ORDER BY Holidayname
  

Я думаю, что этот пример может сработать для вас.