zoukankan      html  css  js  c++  java
  • Linq语法学习_增删篇。

    • 关键词:

    select

    from

    where

    in

    into

    join

    on

    equals

    orderby

    descending

    thenby

     

    • Table<TEntity>

        DefaultIfEmpty();

    submitChanges();

    DeleteOnSubmit();

    DeleteAllOnSubmit();

    InsertAllOnSubmit(); 

    • 常用1

    /// <summary>报销单是否被增值税引用
            /// </summary>
            /// <param name="id"></param>
            /// <returns></returns>
            public bool IsRefWithholding(string id)
            {
                var isRefWithholding = (from wh in _dataContext.Withholdings
                                        join clp in _dataContext.ClaimSheetBaseInProjects on wh.ClaimSheetBaseInProjectId equals clp.Id
                                        join cl in _dataContext.ClaimSheetBases on clp.bxdId equals cl.Id
                                        where cl.Id == id
                                        select wh).Count() > 0;
                return isRefWithholding;
            }
    • 修改用例:

    public void UpdateClaimSheetBaseForFrozen(ClaimSheetBaseDto item)
            {
                _dataContext.CommandTimeout = 180;
                if (item != null)
                {
                    var claimSheetBase = _dataContext.ClaimSheetBases.Single(a => a.Id.Equals(item.Id));
                    claimSheetBase.IsFrozen = item.IsFrozen;
                    claimSheetBase.FrozenCode = item.FrozenCode;
                    _dataContext.SubmitChanges();
                }
            }
    • 删除用例:

    public void DelectProjectPay(ClaimSheetBaseDto item)
            {
                if (item.IsMulPay.Equals(true))
                {
                   
                    var projectPay = _dataContext.ProjectPay.Where(o => o.ClaimSheetBaseId == item.Id);
                    if (item.PaymentByReverseDto != null)
                    {
                        _dataContext.ProjectPay.DeleteAllOnSubmit(projectPay);
                    }                
                }
            }
    • 增加用例:

    /// <summary>添加附件
            /// 先删除后增加
            /// </summary>
            /// <param name="claimSheetBaseId"></param>
            /// <param name="?"></param>
            /// <returns></returns>
            public bool AddAttachmentWB(ClaimSheetBaseDto item)
            {
                if (item.AttachmentDtos != null)
                {
                    var attachments = _dataContext.AttachmentWB.Where(a => a.ClaimSheetBaseId.Equals(item.Id));
                    if (attachments != null && attachments.Count() > 0)
                    {
                        _dataContext.AttachmentWB.DeleteAllOnSubmit(attachments);
                    }
                    var attachmentDtos = new List<AttachmentWB>();
                    foreach (var attachment in item.AttachmentDtos)
                    {
                        attachmentDtos.Add(RePackAttachment(attachment));
                    }
    
                    _dataContext.AttachmentWB.InsertAllOnSubmit(attachmentDtos);
                }
                _dataContext.SubmitChanges();
                return true;
    
            }
  • 相关阅读:
    17 创建和操纵表
    16 更新和删除数据
    15 插入数据
    HTTP 的前世今生,那些不为人知的秘密
    adb连接夜神模拟器(包括安装adb,夜神模拟器)需要将夜神模拟器的版本号与adb版本一致
    HBuilderX真机调试插上手机却提示“未检测到手机或浏览器”的问题
    活动倒计时的做法
    Normalize.css 样式作用,及使用方法
    Vue-Router基础(四):路由内的参数传递 props
    keep-alive实现原理
  • 原文地址:https://www.cnblogs.com/jacketlin/p/5752275.html
Copyright © 2011-2022 走看看