如何使用 LinqToSQL 显示查询结果
How to display results from query with LinqToSQL
我卡住了。我想将查询结果显示到数据网格中。
我将 LinqToSQL class 命名为:linq_to_sql.dbml
我有我的数据网格:
<DataGrid x:Name="list_clients"></DataGrid>
这是我的代码:
linq_to_sqlDataContext db = new linq_to_sqlDataContext();
var query = (from c in db.CLIENT select c);
list_clients.ItemsSource = query;
但是每次我 运行 我的应用程序都不起作用:System.InvalidCastException 错误
目前var query
不包含你的查询结果,它仍然有你的sql格式的查询(你可以在这行打断点,看看query
的值) ,直到您将此查询转换为某个集合或数据表。为了绑定网格,您需要集合类型或数据表。更改此行:
list_clients.ItemsSource = query;
至
list_clients.ItemsSource = query.ToList();
我可以通过这样做来填充您的 DataGrid:
public WindowDemo01()
{
InitializeComponent(); // Make sure this occurs first so that your Datagrid is built before your ItemsSource is set.
var query = (from c in db.CLIENT select new { Name = c.Name });
list_clients.ItemsSource = query.ToList();
}
我使用了一个字段名 = "Name" 因为那是我的 table 所拥有的。你可以用别的东西。您还可以 return 多个字段。
确保数据库中的 CLIENT table 与数据上下文设置的相同。您可能需要使用服务器资源管理器才能获得所需内容。
我一直没能得到你遇到的 System.InvalidCastException 错误。我怀疑您的应用程序中可能发生了其他事情。
我卡住了。我想将查询结果显示到数据网格中。
我将 LinqToSQL class 命名为:linq_to_sql.dbml
我有我的数据网格:
<DataGrid x:Name="list_clients"></DataGrid>
这是我的代码:
linq_to_sqlDataContext db = new linq_to_sqlDataContext();
var query = (from c in db.CLIENT select c);
list_clients.ItemsSource = query;
但是每次我 运行 我的应用程序都不起作用:System.InvalidCastException 错误
目前var query
不包含你的查询结果,它仍然有你的sql格式的查询(你可以在这行打断点,看看query
的值) ,直到您将此查询转换为某个集合或数据表。为了绑定网格,您需要集合类型或数据表。更改此行:
list_clients.ItemsSource = query;
至
list_clients.ItemsSource = query.ToList();
我可以通过这样做来填充您的 DataGrid:
public WindowDemo01()
{
InitializeComponent(); // Make sure this occurs first so that your Datagrid is built before your ItemsSource is set.
var query = (from c in db.CLIENT select new { Name = c.Name });
list_clients.ItemsSource = query.ToList();
}
我使用了一个字段名 = "Name" 因为那是我的 table 所拥有的。你可以用别的东西。您还可以 return 多个字段。
确保数据库中的 CLIENT table 与数据上下文设置的相同。您可能需要使用服务器资源管理器才能获得所需内容。
我一直没能得到你遇到的 System.InvalidCastException 错误。我怀疑您的应用程序中可能发生了其他事情。