如何在Linq中将string1> = string2转换为SQL?
string1> = string2。 String类根本不会覆盖> =运算符。它仅覆盖!=和==运算符。您可以通过尝试编译以下方法来验证这一点
public static void Example() {
int val = "foo" >= "bar";
}
如果要与LinqToSql中的字符串进行比较,则应该可以使用静态String.Compare(string,string)方法。
如果您要查找>=
,则不能直接使用字符串执行此操作。您可以通过CompareTo获得相同的行为:
string1.CompareTo(string2) >= 0
在这种情况下,结果小于或等于零意味着string1
将在string2
之前排序,因此会更大。
有关可能的错字信息,仅供参考,C#中的=>
运算符仅用于lambda表达式的定义。
您不能对字符串使用大于或等于的运算符,因为没有明确的方法可以说出您在说什么。如果它们实际上是数字,您可能想要做。
var query = from c in dc.Customers
where c.CustomerID >= Int32.Parse("32")
select c;
我不确定您要在这里做什么,但是字符串直接转换为Linq到SQL查询。
您能举例说明您正在尝试什么吗?
这是基本用法示例:
string string2 = "test";
using (MyDataContext dc = new MyDataContext())
{
// without lambdas
var query1 = from item in dc.Items
where item.Value == string2
select item;
// with lambdas
var query2 = dc.Items.Where(item=>item.string1 == string2);
}