作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有这段执行 sql 查询的代码,它应该只返回一列 BIN_NUMBER
,因为这是 select 语句中的唯一内容。然而,当我将结果 emptybins
分配给数据网格时,它显示了 BINS 表中最初的所有列。有没有办法只返回 select 语句中的列,这样我就不必手动隐藏其他列?
我知道如果我使用 LINQ 构建查询我可以做到这一点,但我特别询问有关使用此函数的问题。(dc 是来自 LINQ to SQL 类的 DataContext)
var emptyBins = dc.ExecuteQuery<BIN>(
@"SELECT BINS.BIN_NUMBER
FROM BINS LEFT JOIN
INVENTORY_ACTIVE ON BINS.BIN_NUMBER = INVENTORY_ACTIVE.BIN_NUMBER
WHERE (((BINS.BIN_TYPE)={0}) AND
((INVENTORY_ACTIVE.BIN_NUMBER) Is Null))
ORDER BY BINS.BIN_NUMBER;", "INVENTORY");
if (dc.DatabaseExists()) MainGrid.ItemsSource = emptyBins;
最佳答案
绑定(bind)到对象的数据使用类型的组件模型 - 在本例中为 BIN
。您只填充 一列这一事实无关紧要 - UI 绑定(bind)现在也不会关心。如果您要填充部分对象,请手动设置 UI 而不是依赖自动列生成 - 或者创建一个特定于您的 UI 的类型,仅其中包含值的字段 - 并使用 ExecuteQuery<ThatType>
。您可能也可以只使用 ExecuteQuery<int>
(或任何类型)。
关于c# - 如何只接收某些列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53873210/
我是一名优秀的程序员,十分优秀!