gpt4 book ai didi

c# - 如何只接收某些列?

转载 作者:搜寻专家 更新时间:2023-10-30 21:49:03 25 4
gpt4 key购买 nike

我有这段执行 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com