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;
    
            }
  • 相关阅读:
    win2008R2、win7不停闪屏、程序失去响应的解决办法
    “我要上春晚”刷票器
    Windows Phone 7的About模板——Your Last About Dialog
    该伙伴事务管理器已经禁止了它对远程/网络事务的支持
    安装配置apache+php+mysql小结
    [摘]CSS的优先级探讨
    利用domdrag实现flash滚动条功能
    WIN7下如何做好IE6,7的兼容性测试
    同级情况下CSS的优先级探讨
    [NHibernate] NHibernate对象关系映射工具了解
  • 原文地址:https://www.cnblogs.com/jacketlin/p/5752275.html
Copyright © 2011-2022 走看看