我有一个表格报价商店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]
请有人向我展示解决方案。感谢。
答案 0 :(得分:2)
您有查询 - 您需要执行它。致电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);
}
答案 1 :(得分:2)
试试这个:
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);
}
答案 2 :(得分:0)
我建议你重写Quotation的ToString方法