C# 使用数据库实体模型调试网页时引发InvalidCastException
我试图弄清楚如何使用实体数据模型,因为现在我在团队环境中工作,开发人员和db开发人员是分开的,所以我试图快速了解实体数据模型是如何使用的。我总是创建自己的数据库和存储过程等。。。因此,必须使用实体模型,对我来说有点困惑 我正在使用一本ASP.NET 4.5数据库入门书,我按照它说的做了,当我去调试页面时,它不断抛出一个错误,如添加的屏幕截图所示 下面是代码隐藏中的代码C# 使用数据库实体模型调试网页时引发InvalidCastException,c#,asp.net,entity-framework,C#,Asp.net,Entity Framework,我试图弄清楚如何使用实体数据模型,因为现在我在团队环境中工作,开发人员和db开发人员是分开的,所以我试图快速了解实体数据模型是如何使用的。我总是创建自己的数据库和存储过程等。。。因此,必须使用实体模型,对我来说有点困惑 我正在使用一本ASP.NET 4.5数据库入门书,我按照它说的做了,当我去调试页面时,它不断抛出一个错误,如添加的屏幕截图所示 下面是代码隐藏中的代码 using (var db = new DGITestDBEntities()) { t
using (var db = new DGITestDBEntities())
{
this.MyRepeater.DataSource = db.Products.ToList();
this.MyRepeater.DataBind();
}
标记是
<asp:Repeater ID="MyRepeater" runat="server" ItemType="WebApplication13.DGITestDBEntities">
<ItemTemplate>
<li>
<label>
Name: <%# Item.Products %>
</label>
</li>
</ItemTemplate>
</asp:Repeater>
姓名:
中继器的项目类型定义为DGITestDBEntities
,它是一个DbContext
。它应该是绑定到中继器中每个项目的类型,即产品
<asp:Repeater ID="MyRepeater" runat="server" ItemType="WebApplication13.DGITestDBEntities">
应该是
<asp:Repeater ID="MyRepeater" runat="server" ItemType="WebApplication13.Product">
您的中继器实现与我不同 如果您想从字段
Products.name
中显示产品名称,那么我将这样编码:
<asp:Repeater ID="MyRepeater" runat="server">
<ItemTemplate>
<li>
<label>
Name: <%# Eval("name") %>
</label>
</li>
</ItemTemplate>
</asp:Repeater>
姓名:
对于后面设置Repeater数据源的代码,我认为它应该可以正常工作