字符串1> =字符串2 Linq中不落实到SQL,任何解决方法吗?
-
23-08-2019 - |
题
任何人知道如何做到这一点?
编辑:我试图做> =。我纠正名称
解决方案
字符串1> =字符串2是不是在C#的LINQ to SQL支撑。 String类不覆盖> =运算符的。它仅覆盖!=和==操作符。可以通过试图编译以下方法验证此
public static void Example() {
int val = "foo" >= "bar";
}
如果您要比较字符串在LinqToSql你应该能够使用静态的 String.Compare(字符串,字符串)方法。
其他提示
如果你正在寻找这通常会被写成=>
>=
那么你就不能直接用绳子做到这一点。你可以得到相同的行为通过的CompareTo :
string1.CompareTo(string2) >= 0
在这种情况下,结果是小于或等于零意味着string1
将string2
之前进行排序,并因此更大。
FYI 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);
}
不隶属于 StackOverflow