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"的成员在数据读取器中没有具有相同名称的相应列。

C#如何使用SQL从数据库表中返回特定列

既然您似乎在使用实体框架-为什么要使用原始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;
}

你完了!