我看到有人提出了类似的问题,但我认为其中没有一个专门针对我所看到的环境差异。我有一个包含 的 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; }
}
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 之间有什么区别导致代码在前者环境中正常运行而在后者环境中失败?