如何在Linq to SQL中实现string1 >= string2?
如何在Linq to SQL中实现string1 >= string2?
如果你正在寻找=>
,通常应该写成>=
,那么你无法直接使用字符串实现这一点。 你可以通过CompareTo方法获得相同的行为:
string1.CompareTo(string2) >= 0
在这种情况下,结果小于或等于零意味着string1
将被排序在string2
之前,因此string1
更大。=>
运算符仅用于lambda表达式的定义。在C# Linq To Sql中,不支持string1 >= string2的操作符。String类根本没有重载>=操作符,它只重载了!=和==操作符。您可以尝试编译以下方法以验证此信息。
public static void Example() {
int val = "foo" >= "bar";
}
如果你想在LinqToSql中比较两个字符串,你可以使用静态的String.Compare(string,string)方法。
您不能使用大于或等于运算符来比较字符串,因为无法确定您要比较的内容。如果它们实际上是数字,则可以考虑执行其他操作。
var query = from c in dc.Customers
where c.CustomerID >= Int32.Parse("32")
select c;
我不太确定你在这里想要做什么,但字符串可以直接转换为 Linq to 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);
}