Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用数据库实体模型调试网页时引发InvalidCastException_C#_Asp.net_Entity Framework - Fatal编程技术网

C# 使用数据库实体模型调试网页时引发InvalidCastException

C# 使用数据库实体模型调试网页时引发InvalidCastException,c#,asp.net,entity-framework,C#,Asp.net,Entity Framework,我试图弄清楚如何使用实体数据模型,因为现在我在团队环境中工作,开发人员和db开发人员是分开的,所以我试图快速了解实体数据模型是如何使用的。我总是创建自己的数据库和存储过程等。。。因此,必须使用实体模型,对我来说有点困惑 我正在使用一本ASP.NET 4.5数据库入门书,我按照它说的做了,当我去调试页面时,它不断抛出一个错误,如添加的屏幕截图所示 下面是代码隐藏中的代码 using (var db = new DGITestDBEntities()) { t

我试图弄清楚如何使用实体数据模型,因为现在我在团队环境中工作,开发人员和db开发人员是分开的,所以我试图快速了解实体数据模型是如何使用的。我总是创建自己的数据库和存储过程等。。。因此,必须使用实体模型,对我来说有点困惑

我正在使用一本ASP.NET 4.5数据库入门书,我按照它说的做了,当我去调试页面时,它不断抛出一个错误,如添加的屏幕截图所示

下面是代码隐藏中的代码

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数据源的代码,我认为它应该可以正常工作