问题如下:
我在数据库中有三个表:
包含ID_Article,Title等字段的文章以及FK ID_Author
CATEGORY,字段ID_Category,名称
带有字段ID_Article,ID_Category
的CATEGORYTOARTICLE现在我有一个页面显示给定类别的所有文章。 里面有一个GridView。
<asp:GridView ID="GridViewCategories" runat="server"
AutoGenerateColumns="False" DataSourceID="LinqSourceGridCategories" >
<Columns>
<asp:TemplateField>
<HeaderTemplate>Title</HeaderTemplate>
<ItemTemplate>
???
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
加上LinqDataSource
<asp:LinqDataSource ID="LinqSourceGridCategories" runat="server"
ContextTypeName="konserwatyzm.db.DataClassesDataContext" EntityTypeName=""
TableName="CategoryToArticles" Where="ID_Category == @ID_Category">
<WhereParameters>
<asp:QueryStringParameter Name="ID_Category" QueryStringField="id"
Type="Int32" />
</WhereParameters>
</asp:LinqDataSource>
查看类别的ID通过QueryString传递。
如何访问Article表的字段以便我可以在GridView中为它们创建列?我尝试使用Eval(“Article.Title”)但它一直说“DataBinding:'konserwatyzm .db.CategoryToArticle'不包含名称为'Article'的属性。“
谢谢!
答案 0 :(得分:1)
确保在dbml或map中正确定义了键。然后尝试使用linqdatasource配置向导构建查询,方法是选择所需的所有表。您似乎只在需要时选择了CategoryToArticles表+其他两个。您将能够以这种方式引用其他表中的列。