добрый день. Непроходимая проблема с linqdatasource. Gridview должен отображать выборку данных с трех таблиц (т.е. отобразить одну таблицу, но место userid выводить user.email например), update & sorting должно быть доступно. Gridview отображает "основные" данные с первой таблицы с помощью boundfield, а вот данные из других таблиц отображаются вот таким образом:
<asp:TemplateField HeaderText="Payment's characteristics:" SortExpression="Payment_Characteristics" >
<ItemTemplate>
<%#Eval("Type_of_Payment.Payment_Characteristics")%>
</ItemTemplate>
</asp:TemplateField>
Где Type_of_Payment — это атрибут связи с другой таблицей. Вот и тут все сыпется — <%#Eval("Type_of_Payment.Payment_Characteristics")=null?true%> возращает true

. Хотя fk в ms sql есть, в dmbl файле связь есть, при запросах "вручную" из кода поле появляется, а через linqdatasource — нет. Магия заключается еще в том, что есть похожий проект с идентичным на 95% кодом и там работает именно таким способом.
Зараннее спасибо за ответ.
If the message above is in English — means I'm wasting my work time and work computer to post here. No hard feelings
Здравствуйте, ann.molchanova, Вы писали:
AM>добрый день. Непроходимая проблема с linqdatasource. Gridview должен отображать выборку данных с трех таблиц (т.е. отобразить одну таблицу, но место userid выводить user.email например), update & sorting должно быть доступно. Gridview отображает "основные" данные с первой таблицы с помощью boundfield, а вот данные из других таблиц отображаются вот таким образом:
AM> <asp:TemplateField HeaderText="Payment's characteristics:" SortExpression="Payment_Characteristics" >
AM> <ItemTemplate>
AM> <%#Eval("Type_of_Payment.Payment_Characteristics")%>
AM> </ItemTemplate>
AM> </asp:TemplateField>
AM>Где Type_of_Payment — это атрибут связи с другой таблицей. Вот и тут все сыпется — <%#Eval("Type_of_Payment.Payment_Characteristics")=null?true%> возращает true
. Хотя fk в ms sql есть, в dmbl файле связь есть, при запросах "вручную" из кода поле появляется, а через linqdatasource — нет. Магия заключается еще в том, что есть похожий проект с идентичным на 95% кодом и там работает именно таким способом.
AM>Зараннее спасибо за ответ.
LinqDataSource отключает у контеста LazyLoad. Вам нужно перехватывать событие создания контекста и прописывать DataLoadOptions чтобы объект грузился со связями.