我看到类似的问题已被提出,但我认为它们中没有一个专门解决我所看到的环境差异.我有一个包含a的ASP.NET Web窗体应用程序,GridView我手动绑定到实体框架实体的集合.我正在使用一个BoundField引用我的某个实体的导航属性.
以前的帖子表明这不受支持,但整个解决方案在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; }
}
Run Code Online (Sandbox Code Playgroud)
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> …Run Code Online (Sandbox Code Playgroud)