漫话Linq——Linq To SQL

漫话Linq——Linq To SQL

      Linq 是 .Net 框架里面一项强大、实用的技术!根据操作对象不同可分为四类:Linq To Object、Linq To SQL、Linq To DataSet、Linq To XML

如下所示演示的是Linq To SQL基本的 增、删、改、查用法,供大家互相学习之用。
 #region 全局变量
        /// <summary>
        /// Linq to Sql 类
        /// </summary>
        DataClassesDataContext dc = new DataClassesDataContext();
        #endregion


        #region 查询
        /// <summary>
        /// 查询信息
        /// </summary>
        /// <param name="where"></param>
        /// <returns></returns>
        public IList<EA_Script> getWhere(String whereInfo)
        {
            /*
             *  还可以使用 Where + Contains() 实现模糊查询
             *  例:var query = from es in dc.EA_Script
                            where es.Title.Contains(keyWorld)
                            orderby es.Id descending
                            select es;
             */
            String strSQL = "SELECT * FROM EA_Script es WHERE " + whereInfo + " ORDER BY es.Id DESC";
            var query = dc.ExecuteQuery<EA_Script>(strSQL);
            return query.ToList();
        }
        #endregion


        #region 删除
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        public bool Delete(int Id)
        {
            /*
             * 删除信息:
             * 方法一,使用 DeleteOnSubmit(实体类) 方法;
             *         例:见下文
             * 方法二,使用 ExecuteCommand(T-SQL 语句) 方法;
             *         例:dc.ExecuteCommand(" DELETE FROM EA_Script WHERE Id = " + Id);
             */
            EA_Script entity = new EA_Script();
            var query = (EA_Script)dc.EA_Script.FirstOrDefault(item => item.Id == Id);
            if (query != null)
            {
                try
                {
                    entity = (EA_Script)query;
                    /*
                     * 写法二:
                     * dc.GetTable<EA_Script>().DeleteOnSubmit(entity);
                     */
                    dc.EA_Script.DeleteOnSubmit(entity);
                    dc.SubmitChanges();   //保存修改,一定不要忘记
                    return true;
                }
                catch
                {
                    return false;
                }
            }
            else
                return false;
        }
        #endregion


        #region 修改
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public bool Update(EA_Script entity)
        {
            try
            {
                EA_Script es = dc.EA_Script.FirstOrDefault<EA_Script>(item => item.Id == entity.Id);
                if (es != null)
                {
                    es.Title = entity.Title;
                    es.Detail = entity.Detail;
                    es.DateTime = entity.DateTime;
                    es.Downloads = entity.Downloads;
                    es.FName = entity.FName;


                    dc.SubmitChanges();
                    return true;
                }
                else
                    return false;
            }
            catch
            {
                return false;
            }
        }
        #endregion


        #region 添加
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public bool Insert(EA_Script entity)
        {
            /*
             * 写法二:
             * dc.GetTable<EA_Script>().InsertOnSubmit(entity);
             */


            try
            {
                dc.EA_Script.InsertOnSubmit(entity);
                dc.SubmitChanges();
                return true;
            }
            catch
            {
                return false;
            }
        }
        #endregion




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追夢秋陽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值