我有一个包含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.Counselor1'不兼容。该类型的成员' CounselorID'在数据阅读器中没有相应的列具有相同的名称。
答案 0 :(得分:0)
因为您似乎正在使用Entity Framework - 为什么使用原始SQL? EF的重点是避免编写原始SQL!
只需使用" native" 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;
}
你完成了!