2011-05-15 62 views
0

我有一个查询,将检索数> 15,虽然当我尝试并指定一个确切值,如“==‘2’,”我得到的错误的LINQ to SQL - 精确查询值

DataClasses1DataContext db = new DataClasses1DataContext(); 
    var returnunits15 = from p in db.Products 
      where p.UnitPrice > 15 // If unit price is greater than 15... 
      select p; // select entries 

例如我如何调整查询来查找确切的字符串,例如“test”

and

并且确切的值例如为20。

+1

你得到的错误究竟是什么? – 2011-05-15 15:33:52

回答

1

UnitPrice是十进制的?
您不能将数字类型与字符串进行比较。

如果你想检查数值类型的相等性,你不需要使用“”引号。

DataClasses1DataContext db = new DataClasses1DataContext(); 
var returnunits15 = from p in db.Products 
     where p.UnitPrice == 20 
     select p; 

只需要使用引号进行字符串比较。

+2

当然你的意思是'p.UnitPrice == 20',不是吗? ;) – SirViver 2011-05-15 15:35:21

+0

@Alex Aza对不起,这是一个不好的例子。但在例如它是例如UnitName,你怎么能搜索一个字符串? – James 2011-05-15 15:36:15

+0

@SirViver - 哎呀,谢谢,修复。 :) – 2011-05-15 15:36:25