zoukankan      html  css  js  c++  java
  • linq 之左连接

    List<ArticleModel> articleList = articleRepository.GetAllArticle();
    List<UsersModel> userList = usersRepository.GetAllUsers();

    //用户表左连接文章表
    var usersLeftJoin = (from u in userList
    join a in articleList
    on u.Id equals a.Author into users
    from us in users.DefaultIfEmpty()
    select new
    {
    author = us == null ? "" : us.Author.ToString(),
    name = u.Name.Trim()
    }).ToList();

    //要避免这种写法,这种写法查出来的数据实际上相当于连接
    var usersLeftJoin1 = (from u in userList
    join a in articleList
    on u.Id equals a.Author into users
    from us in users
    select new
    {
    author = us.Author,
    name = u.Name.Trim()
    }).ToList();


    //文章表左连接用户表
    var articleLeftJoin = (from a in articleList
    join u in userList
    on a.Author equals u.Id into users
    from us in users.DefaultIfEmpty()
    select new
    {
    title = a.Title.Trim(),
    name = us == null ? "" : us.Name.Trim(),
    author = a.Author
    }).ToList();

    //要避免这种写法,这种写法查出来的数据实际上相当于连接
    var articleLeftJoin1 = (from a in articleList
    join u in userList
    on a.Author equals u.Id into users
    from us in users
    select new
    {
    name = us.Name.Trim(),
    author = a.Author
    }).ToList();

    //用户表连接文章表
    var result = (from a in articleList
    from u in userList
    where a.Author == u.Id
    select new
    {
    name = u.Name,
    author = a.Author
    }).ToList();

  • 相关阅读:
    gentoo 网络配置
    gentoo 安装
    渗透流程与相应的工具使用
    Web 安全工具篇:Burp Suite 使用指南
    kali&BT5下利用nmap对mysql等数据库渗透与爆破
    一个网站的渗透测试思路,流程
    网站渗透测试原理及详细过程
    mysql渗透过程
    AWVS介绍
    Windows下Python3.6.2+Django-1.11.5+httpd-2.4.27-win64-VC14部署网站
  • 原文地址:https://www.cnblogs.com/ushou/p/3408014.html
Copyright © 2011-2022 走看看