2

ASP.Net 4.5 Web フォームには、Entity Framework に基づく新しいモデル バインド機能を使用するグリッドがあります。

<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">

これにより、DB 内のすべての評価が適切に一覧表示されます。これには、明らかに名前が付けられた Destination テーブルへの FK である宛先が含まれます。DynamicField は DestinationID を表示するように設定されていますが、実際の Destination テーブルからDestinationを確認したいのです。

私はいくつかのバリエーションを試しました。

<asp:DynamicField DataField="Destinations.DestinationDescription" HeaderText="Destination" />

(Destinations はテーブルです)

<asp:DynamicField DataField="Destination.DestinationDescription" HeaderText="Destination" />

(Destination は Navigation プロパティです)。

どちらの方法でも、「テーブル 'SelfAssessment' には 'Destinations.DestinationDescription' という名前の列がありません」という結果になります。または類似。

私の GetSelfAssessments メソッドは、.Include メソッドを使用して Destinations テーブルを含めますが、役に立ちません。

何かご意見は?

4

1 に答える 1

0

OK、修正しました-asp:DynamicFieldではなく、asp:BoundFieldをDestination.DestinationDescriptionに使用してください。問題ありません。また、 .Include("Destination") も必要ありませんでしたが、想定される遅延ロードを防ぐ必要があるかどうかは疑問です。

さて、目的地での並べ替えは別の問題です...

于 2012-09-05T08:47:42.763 に答える