ItemType中的Entity Framework类不显示转发器中的字段

时间:2017-11-30 06:32:24

标签: c# asp.net entity-framework repeater strong-typing

我正在使用实体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表的字段,如下所示。

enter image description here

这里也是可以看到表格定义的图像 enter image description here 对于我的SQL Server数据库中的其他表,相同的代码运行正常。 有谁能解决这个问题 谢谢

1 个答案:

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