我有一个 LINQ to EF 查询,在其中我选择了实体 t_Klantenhistory 的一些列。此查询是数据网格 dgHistory 的项目源。自动生成列设置为 true。当我想从 dgHistory 中获取所选项目时,代码会引发错误说明:
“无法将类型为 '<>f__AnonymousType5`5[System.Int32,System.String,System.String,System.String,System.String]' 的对象转换为类型 'AOV.t_Klantenhistory'。”
当我选择所有列时,这真的很好,但我不想要所有列。我怎么解决这个问题?
代码:
public KlantenHistory()
{
InitializeComponent();
entities = new AOVEntities();
var query = (from cust in entities.t_Klantenhistory
select new
{
cust.ID,
cust.IdNo,
cust.Naam,
cust.Voornamen,
cust.VolgNo
});
dgHistory.DataContext = entities.t_Klantenhistory;
dgHistory.AutoGenerateColumns = true;
dgHistory.ItemsSource = query.ToList();
}
private void btToonHistory_Click(object sender, RoutedEventArgs e)
{
s_history = new SpecifiekeHistory();
t_Klantenhistory klant = (t_Klantenhistory)dgHistory.SelectedItem;
s_history.GetKlantHistory(klant.ID);
s_history.Show();
}