同様の質問が寄せられているようですが、私が目にしている環境の違いに具体的に対処しているとは思いません。GridView
エンティティ フレームワーク エンティティのコレクションに手動でバインドしているを含む ASP.NET Web フォーム アプリケーションがあります。BoundField
エンティティの 1 つでナビゲーション プロパティを参照するを使用しています。
以前の投稿では、これはサポートされていないことが示されていますが、ソリューション全体が Windows 7 で実行されている IIS 7.5 で完全に機能します。ただし、Windows Server 2003 R2 で IIS 6 を実行している Web サーバーにアプリケーションを展開すると、次のエラーで失敗しますHttpException
。
「'Worker.FullName' という名前のフィールドまたはプロパティが、選択したデータ ソースで見つかりませんでした。」
関連するコードの要約を次に示します。
エンティティ:
public class WorkerAssignment
{
public Guid Id { get; set; }
public Guid WorkerId { get; set; }
public virtual Worker Worker { get; set; }
}
public class Worker
{
public Guid Id { get; set; }
public string FullName { get; set; }
}
ASPX:
<asp:GridView
ID="gvWorkers"
runat="server"
AutoGenerateColumns="False"
DataKeyNames="Id"
>
<Columns>
<asp:BoundField
DataField="Worker.FullName"
SortExpression="Worker.FullName"
HeaderText="Worker Name"
/>
</Columns>
</asp:GridView>
どちらのサーバーも .NET Framework 4.0.30319 を実行しています。IIS 7.5 と IIS 6 の違いは何ですか?前者の環境ではコードが正しく機能し、後者の環境では失敗しますか?