在ASP.Net 4.5 Web窗体中,我有一个网格,它使用新的模型绑定功能,从实体框架支持:
<asp:GridView runat="server" ID="uxGrid" ItemType="SAData.SelfAssessment" DataKeyNames="SelfAssessmentID" AllowPaging="True" AllowSorting="True" PageSize="2"
SelectMethod="GetSelfAssessments" CellPadding="5" ForeColor="#333333" GridLines="None" AutoGenerateColumns="False">
这适当地列出了数据库中的所有评估,包括它们的目的地,它是明显命名的目的地表的FK。 DynamicField设置为显示DestinationID,但我真的希望从实际的Destination表中看到Destination name 。
我尝试了几种变体,例如
<asp:DynamicField DataField="Destinations.DestinationDescription" HeaderText="Destination" />
(目的地是表格)
和
<asp:DynamicField DataField="Destination.DestinationDescription" HeaderText="Destination" />
(其中Destination是Navigation属性)。
这两种方法都会导致“表'SelfAssessment'没有名为'Destinations.DestinationDescription'的列。”或类似的。
我的GetSelfAssessments方法使用.Include方法,包括Destinations表,但无济于事。
有什么想法吗?
答案 0 :(得分:0)
好的,修复它 - 使用asp:BoundField到Destination.DestinationDescription,而不是asp:DynamicField,它很好。此外,也没有必要.Include(“Destination”),虽然我想知道是否应该阻止假定的延迟加载。
现在,对目的地进行排序是另一回事......