C#如何使用SQL从数据库表中返回特定列
本文关键字:返回 数据库 何使用 SQL | 更新日期: 2023-09-27 18:29:35
我有一个数据库,其中的表person
包含列PersonID, firstName, lastName
。
我正在尝试用这个表中的所有名字填充一个组合框。这就是我目前所拥有的:
public partial class MainWindow : Window
{
dbSet dbContext = new dbSet();
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
var names = dbContext.People.SqlQuery("Select FirstName FROM person").ToArray();
dgMain.ItemsSource = names;
dgMain.SelectedIndex = 0;
}
但这总是会产生错误
数据读取器与指定的"dbSet.Consultor1"不兼容。类型为"CounselerID"的成员在数据读取器中没有具有相同名称的相应列。
既然您似乎在使用实体框架-为什么要使用原始SQL??EF的全部目的是避免必须编写原始SQL!
只需使用EF的"原生"功能-Linq to Entities-即可获得您的名字列表!
private void Window_Loaded(object sender, RoutedEventArgs e)
{
var names = dbContext.People.Select(p => p.FirstName);
dgMain.ItemsSource = names;
dgMain.SelectedIndex = 0;
}
你完了!