使用 C#、WPF、.NET 4.5
在我的程序中,我试图从数据库中填充 TextBox 的值。该值通过 LINQ 语句获取。我已经尝试了所有不同的东西,例如 To.String()
和 Console.WriteLine()
等。如果您能想出一种方法来完成这项工作,那就是太棒了,如果你能找到一种更好的方法来选择数据并显示它,我也会对此感兴趣。
C#代码:
private AuroraEntities auroraContext = null;
private void LoadTB()
{
this.auroraContext = new AuroraEntities();
ObjectQuery<Inventory> inventories = auroraContext.Inventories;
string name = ingNameCB.SelectedValue.ToString();
var queryResult = (from q in inventories
where q.InventoryName == name
select q);
textBox1.DataContext = queryResult.ToString();
}
XAML:
<TextBox Height="23" HorizontalAlignment="Left" Margin="70,186,0,0" Name="textBox1" VerticalAlignment="Top" Width="120" Text="{Binding Path=InventoryName, Mode=TwoWay}"
谢谢!
最佳答案
您是否期待单一结果?如果是这样,请使用 First
, 或 Single
, 或 FirstOrDefault
获取单个 Inventory
项目(这些选项中哪个最合适将取决于您的情况)。但是,您随后将拥有一个 Inventory
项目,一个 Inventory.ToString()
也可能不会给您您想要的东西。
您要从库存中展示什么?其名称?它的描述?也许是组合?您应该非常仔细地考虑这一点 - 一旦您决定了您实际想要实现的目标,为其编写代码可能会非常简单。
如果您的查询可以返回多个结果,您就需要考虑更多。拥有一个文本框是否有意义?也许您应该填充某种表格?
关于c# - 将 IQueryable 的结果转换为字符串以显示在文本框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18036713/