我正在使用实体Framwework 6
我有一个名为Action
的表,我希望它绑定到转发器
<asp:Repeater ID="rpAction" runat="server" ItemType="Action">
<ItemTemplate>
<div>
<%# Item.ActionID %>
</div>
</ItemTemplate>
</asp:Repeater>
在代码隐藏中:
var context = new FPSDB_newEntities();
rpAction.DataSource = (from a in context.Actions select a).ToList();
rpAction.DataBind();
现在它给出了一个编译时错误:
操作不包含ActionID的定义
尽管ActionID
是行动表
当我浏览该字段时,它会显示一些方法,但不显示Action
表的字段,如下所示。
这里也是可以看到表格定义的图像 对于我的SQL Server数据库中的其他表,相同的代码运行正常。 有谁能解决这个问题 谢谢
答案 0 :(得分:1)
错误是由于表Action
的类型与.Net类型Action<T>
之间的冲突造成的。
您可以看到它,因为Intellisense会为您提供Action<T>
可用的所有方法。
https://msdn.microsoft.com/en-us/library/018hxwa8(v=vs.110).aspx
你要做的就是重命名你的表(Code-First)或者重命名表格 - 在EDMX(数据库优先)中输入它
编辑:另一种解决方案是使用表Action
的完全限定类型名称来避免名称冲突,如下所示:
<asp:Repeater ID="rpAction" runat="server" ItemType="MyNamespace.Action">