LINQ to SQL-从变量中获取字符串
本文关键字:获取 字符串 变量 to SQL- LINQ | 更新日期: 2023-09-27 18:00:06
我是LINQ to SQL世界的新手-所以如果这个问题很愚蠢,我很抱歉:)-我只是在互联网上找不到任何答案:
我有一个包含两列的表——"Batch_Name"answers"Batch_id"。用户选择批次id,应用程序需要返回其名称。
我有这个C#代码来根据批次id("myBatchNum")提取批次名称:
var thisBatch = from x in gridDB.batches
where x.batch_id == myBatchNum
select new { x.batch_name };
lblBatchName.Text = thisBatch.First().ToString();
这是从正确的批次名称中提取的,但当我试图在标签控件上显示名称时,我会得到这样的结果("NightBatch是DB中的名称):
{batch_name=NightBatch}
如何将批次名称从"thisBatch"中正确提取到标签控件?
非常感谢,尼姆。
不清楚是否需要使用匿名类型。只需使用:
var thisBatch = from x in gridDB.batches
where x.batch_id == myBatchNum
select x.batch_name;
lblBatchName.Text = thisBatch.First();
或者,如果确实仍然想使用匿名类型,只需使用您有效创建的属性:
var thisBatch = from x in gridDB.batches
where x.batch_id == myBatchNum
select new { x.batch_name };
lblBatchName.Text = thisBatch.First().batch_name;
删除末尾的ToString()
,因为您已经只选择了名称
您正在创建一个具有一个名为batch_name的属性的匿名类型。按如下方式更改代码以返回字符串:
var thisBatch = from x in gridDB.batches
where x.batch_id == myBatchNum
select x.batch_name;
您正在对select
语句中生成的匿名类型调用ToString()
。试试这个:
lblBatchName.Text = thisBatch.First().batch_name;