C# Asp.Net使用实体Framwork获取错误不包含名为';ID';

C# Asp.Net使用实体Framwork获取错误不包含名为';ID';,c#,asp.net,.net,C#,Asp.net,.net,这不是一个重复的问题,因为我在这里读过类似的问题,但正如我所说的,我使用的是实体框架,所以没有改变,我缺少类的属性。 现在我还从数据库中获取了一些数据,包括ID DataKeyNames=“ProjectObjectivesID” 所以我在这里问,对于这种错误,可能会出现什么问题,粘贴在我运行时遇到的错误下面 DataBinding: '<>f__AnonymousType25`6[[System.Int32, mscorlib, Version=4.0.0.0, Culture=

这不是一个重复的问题,因为我在这里读过类似的问题,但正如我所说的,我使用的是实体框架,所以没有改变,我缺少类的属性。 现在我还从数据库中获取了一些数据,包括ID DataKeyNames=“ProjectObjectivesID”

所以我在这里问,对于这种错误,可能会出现什么问题,粘贴在我运行时遇到的错误下面

 DataBinding: '<>f__AnonymousType25`6[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Nullable`1[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]' does not contain a property with the name 'ID'.

此查询返回正确的数据,即使是两个空数据,也返回ProjectObjectivesID值…

您还应该提供导致此异常的一些代码行。除非您提供一些关于代码哪里出错、当时执行的操作以及一些示例代码的说明,否则我们无法提供帮助。正确,给我们提供一些代码。现在我只能猜测您可能有字段,而不是属性,或者您没有在
ID
属性中添加
[Key]
属性。@Naveed这还不够-此控件背后的代码是什么?查看您的异常-您的绑定
匿名类型
@WestDiscGolf我现在已经提供了Gridview和LINQ查询,我现在应该通过LINQ正在生成的结果数据。。。。
<asp:GridView ID="GridView1" runat="server"  AllowPaging="True" AutoGenerateColumns="False" DataKeyNames="ProjectObjectivesID">
     <Columns>
         <asp:TemplateField HeaderText="S.No">
             <ItemTemplate>
                <asp:Label ID="Label19" runat="server" Text="<%# Container.DataItemIndex + 1 %>"></asp:Label>
              </ItemTemplate>
          </asp:TemplateField>
          <asp:TemplateField HeaderText="Sector Objective">
              <ItemTemplate>
                  <asp:Label ID="Label3" runat="server" Text='<%# Bind("Response") %>'></asp:Label>
                      <asp:HiddenField ID="ProjectObjectivesID" runat="server" Value='<%# Bind("ProjectObjectivesID") %>' />
              </ItemTemplate>
           </asp:TemplateField>
           <asp:TemplateField HeaderText="Objective Sope">
                <ItemTemplate>
                    <asp:Label ID="txtScope" runat="server" TextMode="MultiLine" Rows="10" Text='<%# Bind("ObjectiveScope") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Objective Met">
                <ItemTemplate>
                <asp:Label ID="txtObjectiveMet" runat="server" TextMode="MultiLine" Rows="10" Text='<%# Bind("ObjectiveMet") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
    </Columns>
<EditRowStyle BorderColor="#9933FF" />
<PagerStyle CssClass="pager" />
</asp:GridView>
  var query = (from pc1 in DB.ProjectObjectives
                                 join obj in DB.ProjectObjectives on pc1.ProjectObjectiveID equals obj.ProjectObjective_ID
                                 where pc1.IsActive == true && obj.IsActive == true && pc1.PC1ID == id
                                 select new { pc1.ProjectObjectivesID, obj.Title, pc1.Response, pc1.IsOrignalObjective ,pc1.ObjectiveScope,pc1.ObjectiveMet});