数据直接绑定到商店查询

Posted

技术标签:

【中文标题】数据直接绑定到商店查询【英文标题】:Data binding directly to a store query 【发布时间】:2015-03-13 15:41:35 【问题描述】:

我正在尝试将数量分组并加载到 vb.net (asp.net) 中的下拉框中

但我收到以下错误:

不支持直接将数据绑定到存储查询(DbSet、DbQuery、DbSqlQuery、DbRawSqlQuery)。而是使用数据填充 DbSet,例如通过在 DbSet 上调用 Load,然后绑定到本地数据。对于 WPF 绑定到 DbSet.Local。对于 WinForms 绑定到 DbSet.Local.ToBindingList()。对于 ASP.NET WebForms,您可以绑定到在查询上调用 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))

【问题讨论】:

【参考方案1】:

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

cmbAmount.DataSource = SourceAmounts.ToList()

【讨论】:

当然.....现在我又遇到了一个错误。 DataBinding: 'System.Collections.Generic.List`1[[CommissionsEFModels.PayoutAdjustment, CommissionsEFModels, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'不包含名为'Amount'的属性。跨度> 我认为您需要更改 linq 查询的 Select 部分。您的意思是使用(选择组)吗?你期待什么输出? 只是分组的金额字段

以上是关于数据直接绑定到商店查询的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 商店应用程序中通过验证将双重绑定到文本框

extjs 5 商店同步绑定到选择 hasMany

Windows 应用商店应用更新 GridView

将变量从商店绑定到角度ngrx中的组件

Extjs 将另一个商店作为另一个属性绑定到网格

如何在sencha touch中将图像从商店动态绑定到轮播