Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C如何使用SQL从数据库表返回特定列_C#_Sql_Database - Fatal编程技术网

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

C# C如何使用SQL从数据库表返回特定列,c#,sql,database,C#,Sql,Database,我有一个数据库,表person中有PersonID、firstName和lastName列 我试图用这个表中的所有名字填充一个组合框。这就是我到目前为止所做的: public partial class MainWindow : Window { dbSet dbContext = new dbSet(); public MainWindow() { InitializeComponent(); }

我有一个数据库,表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.1”不兼容。“consulterid”类型的成员在数据读取器中没有同名的对应列


既然您似乎在使用实体框架,为什么要使用原始SQL??EF的全部目的是避免编写原始SQL

只需使用EF-LINQtoEntities的本机功能即可获得您的名字列表

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    var names = dbContext.People.Select(p => p.FirstName);

    dgMain.ItemsSource = names;
    dgMain.SelectedIndex = 0;
}

你完了

您说您有一个名为Person的SQL表,希望使用其中的名称,但正在运行一个来自顾问的Select FirstName。那是打字错误吗?听起来应该是从Person.Oops中选择FirstName。我试图简化我的表格,让它更容易理解,而不必解释太多。修正了打字错误。很酷,但是错误仍然在发生,对吗?又一次在帖子中的打字错误。我有dbContext.People。我只是感到困惑,因为当我执行Select*时,它将填充我的数据网格,但当我执行Select firstname时,它会抛出一个exeption。我知道firstname是表中的一列,在实际数据库中查询它是可行的。如果您似乎在使用实体框架,为什么要使用原始SQL代码?!?!?!EF的全部目的是避免编写原始SQL。。。。只需使用dbContext.People.Selectp=>p.FirstName;就这样!è