zoukankan      html  css  js  c++  java
  • 使用扩展方法对Linq to SQl Classes扩展,使其在增删改时返回结果

      我新建了一个Linq to SQl Classes项,命名为ETC.dbml。系统会默认生成ETCDataContext。

      系统在执行ETCDataContext.SubmitChanges()时返回是空值,这样用户就无法知道执行结果到底是成功还是失败。所以决定用扩展方法对ETCDataContext作个扩展。

       代码如下,此代码中包含DataAccessComponent类,此类主要作配置ConnectionString。其它所有涉及到DataContext操作的类都继承自此类,并使用此类实例化DataContext。此类的下边的静态Extensions类是我对ETCDataContext扩展方法。

      注意,扩展方法要求是静态类,传入的参数是扩展的对象,且在参数前加this关键字。

        public class DataAccessComponent
        {
            
    /// <summary>
            
    /// Get connection string of databse
            
    /// </summary>
            protected ETCDataContext EtcDataContext
            {
                
    get
                {
                    
    return new ETCDataContext(ConfigurationManager.ConnectionStrings["etcConnectionString"].ConnectionString);
                }
            }
        }

        
    /// <summary>
        
    /// 扩展方法类
        
    /// </summary>
        public static class Extensions
        {
            
    /// <summary>
            
    /// 更新并返回结果
            
    /// </summary>
            
    /// <param name="etcDataContext"></param>
            
    /// <returns>true:正确;false:错误</returns>
            public static bool SubmitChangesWithResult(this ETCDataContext etcDataContext)
            {
                
    bool result = false;
                
    try
                {
                    etcDataContext.SubmitChanges();
                    result = true;
                }
                
    catch (Exception ex)
                {
                    result = false;
                }
                
    return
     result;
            }

        }


  • 相关阅读:
    Excel sheet Column Title
    Add Two Numbers
    Add Binary
    Excel Sheet Column Number
    Lowest Common Ancestor of a Binary Search Tree
    Invert Binary Tree
    Move Zeroes
    Contains Duplicate
    Maximum Depth of Binary Tree
    Java实现二叉树的构建与遍历
  • 原文地址:https://www.cnblogs.com/scottckt/p/1894624.html
Copyright © 2011-2022 走看看