2015-03-13 65 views
2

我想团量和负载成vb.net一个下拉框(asp.net)直接将数据绑定到一个存储查询

,但我得到了以下错误:

直接将数据绑定到商店查询(DbSet,DbQuery,DbSqlQuery,DbRawSqlQuery)不受支持。而是用数据填充DbSet,例如通过在DbSet上调用Load,然后绑定到本地数据。对于WPF绑定到DbSet.Local。对于WinForms绑定到DbSet.Local.ToBindingList()。对于ASP.NET Web窗体可以绑定到该查询调用ToList()或使用模型绑定,以获取更多信息的结果看

我的代码:

'Load Amounts 
Dim SourceAmounts = (From p In db.PayoutAdjustments 
        Order By p.Amount 
        Where p.PayoutId = PayoutId 
        Group p By Key = p.Amount Into Group 
        Select Amount = Group) 

cmbAmount.DataSource = SourceAmounts 
cmbAmount.DataTextField = "Amount" 
cmbAmount.DataValueField = "Amount" 
cmbAmount.DataBind() 
cmbAmount.Items.Insert(0, New ListItem("Select Amount", 0)) 

回答

7

你需要执行查询数据绑定之前。使用ToList()将强制执行查询。

cmbAmount.DataSource = SourceAmounts.ToList() 
+0

当然.....现在我得到另一个错误。 DataBinding:'System.Collections.Generic.List'1 [[CommissionsEFModels.PayoutAdjustment,CommissionsEFModels,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null]]'不包含名为'Amount'的属性。 – 2015-03-13 15:46:03

+0

我认为你需要改变你的linq查询的Select部分。你的意思是使用(选择组)?你期待什么输出? – rdans 2015-03-13 15:50:02

+0

只需将数量字段分组 – 2015-03-13 15:56:10

相关问题