如何将字符串转换为System.Data.Objects.ObjectQuery`1[System.string]
本文关键字:System ObjectQuery string Objects Data 字符串 转换 | 更新日期: 2023-09-27 18:21:53
我有一个表Quotation存储区QuotationNumber,用于每个进行报价的用户。现在我想在我的视图中打印出QuotationNumber。
这是我在控制器中查询的内容:
Quotation iq = new Quotation();
string test = (from i in Quotations
where i.CustomerID == c.ID
select i.QuotationNumber).ToString();
当我显示测试时,它被输出:
System.Data.Objects.ObjectQuery`1[System.String]
有人能给我看看解决方案吗。谢谢
试试这个:
List<string> test = (from i in Quotations
where i.CustomerID == c.ID
select i.QuotationNumber).ToList();
然后迭代所有结果:
foreach (string quotationNumber in test)
{
Console.WriteLine("Found {0}", quotationNumber);
}
您有一个查询-您需要执行它。调用ToString()
对您没有帮助。例如,可能有多个匹配的报价。如果你知道只有一个,你可以使用:
var query = from i in Quotations
where i.CustomerID == c.ID
select i.QuotationNumber;
string quotationNumber = query.Single();
或
var query = from i in Quotations
where i.CustomerID == c.ID
select i.QuotationNumber;
string quotationNumber = query.SingleOrDefault();
第一个会抛出一个没有结果的异常;如果没有结果,第二个将返回null。如果有多个结果,两者都会抛出异常。另一对选项是First
和FirstOrDefault
,它们的工作方式相同,只是它们允许多个匹配。
或者,您可以迭代所有的结果:
foreach (string quotationNumber in query)
{
Console.WriteLine("Found {0}", quotationNumber);
}
我建议您重写报价的ToString方法