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

欢迎查阅
OBASE帮助文档

联接运算包括Join,GroupJoin方法,得到的结果与Linq内一致,这里我们先引入一个小型的失血模型:

/// <summary>
///     小型的JavaBean的失血模型
/// </summary>
public class SmallJavaBeanLikeModel
{
    /// <summary>
    ///     布尔值类型
    /// </summary>
    public bool Bool { get; set; }

    /// <summary>
    ///     decimal类型数字
    /// </summary>
    public double DecimalNumber { get; set; }


    /// <summary>
    ///     转换为字符串表示形式
    /// </summary>
    /// <returns></returns>
    public override string ToString()
    {
        return
            $"JavaBeanLikeModel:{{DecimalNumber-{DecimalNumber},Bool-\"{Bool}\"]}}";
    }
}

那么,对ObjectSet使用join后,会得到一个关联连接后的集合:

//两个集合
var list = context.JavaBeans.Where(p => p.Bool).ToList();
var joinResult = context.JavaBeans.Join(list, p => p.Bool, p => p.Bool,
    (p, l) => new SmallJavaBeanLikeModel
        {Bool = p.Bool, DecimalNumber = p.DecimalNumber}).ToList();

这里的结果是一个100个SmallJavaBeanLikeModel对象的集合,其中每个对象都是按照第二个和第三格选择键进行联接的。

//两个集合
var list = context.JavaBeans.Where(p => p.Bool).ToList();
var groupJResult = context.JavaBeans.GroupJoin(list, p => p.Bool, p => p.Bool,
    (p, l) => new SmallJavaBeanLikeModel
        {Bool = p.Bool, DecimalNumber = p.DecimalNumber}).ToList();

这里则得到的是分组连接后,按照最后一个参数投影出的SmallJavaBeanLikeModel集合。

没有找到您需要的文档?

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

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

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