obase社区Obase开发者QQ群:962698871
obase

欢迎查阅
OBASE帮助文档

选择运算支持的方法有Where,FirstOrDefault,First,Skip,Take。他们的结果与Linq中的类似:

//复杂条件
var whereResult = context.JavaBeans
    .Where(p => p.IntNumber > 0 && p.DecimalNumber > 987D).ToList();

Console.WriteLine("RunResult:");
foreach (var item in whereResult) Console.WriteLine($"{item}");

这个查询会查出所有intNumber > 0并且DecimalNumber > 987的对象并将他们组成List。这一代码片段的输出如下:

RunResult:
JavaBeanLikeModel:{IntNumber-7,DecimalNumber-3020,DateTime-"2020-10-22 12:15:23",String-"7号字符串",Bool-"False"}
JavaBeanLikeModel:{IntNumber-8,DecimalNumber-9489,DateTime-"2020-10-22 12:15:23",String-"8号字符串",Bool-"True"}
JavaBeanLikeModel:{IntNumber-9,DecimalNumber-29809,DateTime-"2020-10-22 12:15:23",String-"9号字符串",Bool-"False"}
JavaBeanLikeModel:{IntNumber-10,DecimalNumber-93648,DateTime-"2020-10-22 12:15:23",String-"10号字符串",Bool-"True"}
JavaBeanLikeModel:{IntNumber-14,DecimalNumber-9122171,DateTime-"2020-10-22 12:15:23",String-"14号字符串",Bool-"True"}
JavaBeanLikeModel:{IntNumber-15,DecimalNumber-28658146,DateTime-"2020-10-22 12:15:23",String-"15号字符串",Bool-"False"}
JavaBeanLikeModel:{IntNumber-16,DecimalNumber-90032221,DateTime-"2020-10-22 12:15:23",String-"16号字符串",Bool-"True"}
JavaBeanLikeModel:{IntNumber-17,DecimalNumber-282844564,DateTime-"2020-10-22 12:15:23",String-"17号字符串",Bool-"False"}
JavaBeanLikeModel:{IntNumber-18,DecimalNumber-888582403,DateTime-"2020-10-22 12:15:23",String-"18号字符串",Bool-"True"}

而FirsetOrDefault和First则会返回符合条件的第一个对象。不同的是如果结果为空。First会报错。而FirstOrDefault会返回空。

//找出第一个
var firstResult = context.JavaBeans.FirstOrDefault(p => p.DecimalNumber > 90D);

var firstResult1 = context.JavaBeans.FirstOrDefault();
Assert.IsTrue(firstResult1?.IntNumber > 0);

Console.WriteLine("RunResult:");
Console.WriteLine($"{firstResult}");

这一代码片段的结果是:

RunResult:
JavaBeanLikeModel:{IntNumber-4,DecimalNumber-97,DateTime-"2020-10-22 12:15:23",String-"4号字符串",Bool-"True"]}

对于Skip和Take,我们通常会联合使用,表示跳过多少个后取多少个:

//跳过10个取10
var skipResult = context.JavaBeans.Skip(10).Take(10).ToList();

Console.WriteLine("RunResult:");
foreach (var item in skipResult) Console.WriteLine($"{item}");

得到的结果是后10个对象。

没有找到您需要的文档?

您还可以通过人工服务在线咨询,服务时间为每天上午9点至下午6点。

If you can't find required answer, get in touch with us online. We provide service from 9:00 to 18:00.

让编程成为一件快乐的事
现在开始