qq70191 发表于 2018-10-14 11:38:25

ADO.NET与ORM的比较(3)Linq to SQL实现CRUD

http://blog.51cto.com/images/editer/InBlock.gif using System;http://blog.51cto.com/images/editer/InBlock.gif using System.Collections.Generic;
http://blog.51cto.com/images/editer/InBlock.gif using System.Linq;
http://blog.51cto.com/images/editer/InBlock.gif using System.Text;
http://blog.51cto.com/images/editer/InBlock.gif using System.Data.SqlClient;
http://blog.51cto.com/images/editer/InBlock.gif using System.Data.Linq;
http://blog.51cto.com/images/editer/InBlock.gif using System.Configuration;
http://blog.51cto.com/images/editer/InBlock.gif
http://blog.51cto.com/images/editer/InBlock.gif namespace LinqDemo
http://blog.51cto.com/images/editer/InBlock.gif {
http://blog.51cto.com/images/editer/InBlock.gif         ///
http://blog.51cto.com/images/editer/InBlock.gif         /// 说明:这个类是为了演示.NET中的Linq to SQL的用法
http://blog.51cto.com/images/editer/InBlock.gif         /// 作者:周公(周金桥)
http://blog.51cto.com/images/editer/InBlock.gif         /// 日期:2010-03-01
http://blog.51cto.com/images/editer/InBlock.gif         ///

http://blog.51cto.com/images/editer/InBlock.gif         public>http://blog.51cto.com/images/editer/InBlock.gif         {
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               /// 统计用户总数
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               public int Count()
http://blog.51cto.com/images/editer/InBlock.gif               {
http://blog.51cto.com/images/editer/InBlock.gif方法一#region 方法一
http://blog.51cto.com/images/editer/InBlock.gif                         //使用SqlConnection来实例化DataContext对象
http://blog.51cto.com/images/editer/InBlock.gif                         SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["LinqDemo.Properties.Settings.AspNetStudyConnectionString"].ConnectionString);
http://blog.51cto.com/images/editer/InBlock.gif                         DataContext context = new DataContext(connection);
http://blog.51cto.com/images/editer/InBlock.gif                         IEnumerable collection = context.ExecuteQuery("select count(1) from UserInfo");
http://blog.51cto.com/images/editer/InBlock.gif                         int count = collection.ElementAt(0);
http://blog.51cto.com/images/editer/InBlock.gif                         return count;
http://blog.51cto.com/images/editer/InBlock.gif                         #endregion
http://blog.51cto.com/images/editer/InBlock.gif
http://blog.51cto.com/images/editer/InBlock.gif方法二#region 方法二
http://blog.51cto.com/images/editer/InBlock.gif                         //UserInfoDataClassesDataContext context = new UserInfoDataClassesDataContext();
http://blog.51cto.com/images/editer/InBlock.gif                         ////return context.UserInfo.Count(item => item.Age > 23);//带条件统计
http://blog.51cto.com/images/editer/InBlock.gif                         //return context.UserInfo.Count();
http://blog.51cto.com/images/editer/InBlock.gif                         #endregion
http://blog.51cto.com/images/editer/InBlock.gif               }
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               /// 创建用户
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               /// 用户实体
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               public void Create(UserInfo info)
http://blog.51cto.com/images/editer/InBlock.gif               {
http://blog.51cto.com/images/editer/InBlock.gif                         UserInfoDataClassesDataContext context = new UserInfoDataClassesDataContext();
http://blog.51cto.com/images/editer/InBlock.gif                         context.UserInfo.InsertOnSubmit(info);
http://blog.51cto.com/images/editer/InBlock.gif                         context.SubmitChanges();
http://blog.51cto.com/images/editer/InBlock.gif               }
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               /// 读取用户信息
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               /// 用户编号
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               public UserInfo Read(int userId)
http://blog.51cto.com/images/editer/InBlock.gif               {
http://blog.51cto.com/images/editer/InBlock.gif                         UserInfoDataClassesDataContext context = new UserInfoDataClassesDataContext();
http://blog.51cto.com/images/editer/InBlock.gif                         context.Log = Console.Out;
http://blog.51cto.com/images/editer/InBlock.gif                         var query = from item in context.UserInfo
http://blog.51cto.com/images/editer/InBlock.gif                                                 where item.UserID == userId
http://blog.51cto.com/images/editer/InBlock.gif                                                 select item;
http://blog.51cto.com/images/editer/InBlock.gif                         return query.First();
http://blog.51cto.com/images/editer/InBlock.gif               }
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               /// 更新用户信息
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               /// 用户实体
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               public void Update(UserInfo info)
http://blog.51cto.com/images/editer/InBlock.gif               {
http://blog.51cto.com/images/editer/InBlock.gif                         UserInfoDataClassesDataContext context = new UserInfoDataClassesDataContext();
http://blog.51cto.com/images/editer/InBlock.gif                         UserInfo ui = context.UserInfo.First(item => item.UserID == info.UserID);
http://blog.51cto.com/images/editer/InBlock.gif                         ui.Age = info.Age;
http://blog.51cto.com/images/editer/InBlock.gif                         ui.Email = info.Email;
http://blog.51cto.com/images/editer/InBlock.gif                         ui.Mobile = info.Mobile;
http://blog.51cto.com/images/editer/InBlock.gif                         ui.Phone = info.Phone;
http://blog.51cto.com/images/editer/InBlock.gif                         ui.RealName = info.RealName;
http://blog.51cto.com/images/editer/InBlock.gif                         ui.Sex = info.Sex;
http://blog.51cto.com/images/editer/InBlock.gif                         ui.UserName = info.UserName;
http://blog.51cto.com/images/editer/InBlock.gif                         context.SubmitChanges();
http://blog.51cto.com/images/editer/InBlock.gif               }
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               /// 删除用户
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               /// 用户编号
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               public void Delete(int userId)
http://blog.51cto.com/images/editer/InBlock.gif               {
http://blog.51cto.com/images/editer/InBlock.gif方法一#region 方法一
http://blog.51cto.com/images/editer/InBlock.gif                         //UserInfoDataClassesDataContext context = new UserInfoDataClassesDataContext();
http://blog.51cto.com/images/editer/InBlock.gif                         //context.ExecuteCommand("delete from UserInfo where UserId=" + userId);
http://blog.51cto.com/images/editer/InBlock.gif                         #endregion
http://blog.51cto.com/images/editer/InBlock.gif方法二#region 方法二
http://blog.51cto.com/images/editer/InBlock.gif                         UserInfoDataClassesDataContext context = new UserInfoDataClassesDataContext();
http://blog.51cto.com/images/editer/InBlock.gif                         UserInfo ui = context.UserInfo.First(item => item.UserID == userId);
http://blog.51cto.com/images/editer/InBlock.gif                         context.UserInfo.DeleteOnSubmit(ui);
http://blog.51cto.com/images/editer/InBlock.gif                         context.SubmitChanges();
http://blog.51cto.com/images/editer/InBlock.gif                         #endregion
http://blog.51cto.com/images/editer/InBlock.gif               }
http://blog.51cto.com/images/editer/InBlock.gif
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               /// 删除用户
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               /// 用户实体
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               public void Delete(UserInfo info)
http://blog.51cto.com/images/editer/InBlock.gif               {
http://blog.51cto.com/images/editer/InBlock.gif                         UserInfoDataClassesDataContext context = new UserInfoDataClassesDataContext();
http://blog.51cto.com/images/editer/InBlock.gif                         var userList = from Users
http://blog.51cto.com/images/editer/InBlock.gif                                                            in context.UserInfo
http://blog.51cto.com/images/editer/InBlock.gif                                                            where Users.UserID == info.UserID
http://blog.51cto.com/images/editer/InBlock.gif                                                            select Users;
http://blog.51cto.com/images/editer/InBlock.gif                         foreach (var user in userList)
http://blog.51cto.com/images/editer/InBlock.gif                         {
http://blog.51cto.com/images/editer/InBlock.gif                                 context.UserInfo.DeleteOnSubmit(user);
http://blog.51cto.com/images/editer/InBlock.gif                         }
http://blog.51cto.com/images/editer/InBlock.gif                         //context.UserInfo.DeleteOnSubmit(userList.First());
http://blog.51cto.com/images/editer/InBlock.gif                         //注意下面的写法是错误的
http://blog.51cto.com/images/editer/InBlock.gif                        // context.UserInfo.DeleteOnSubmit(info);
http://blog.51cto.com/images/editer/InBlock.gif                         context.SubmitChanges();
http://blog.51cto.com/images/editer/InBlock.gif               }
http://blog.51cto.com/images/editer/InBlock.gif
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               /// 获取用户表中编号最大的用户
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               ///
http://blog.51cto.com/images/editer/InBlock.gif               public int GetMaxUserId()
http://blog.51cto.com/images/editer/InBlock.gif               {
http://blog.51cto.com/images/editer/InBlock.gif                         UserInfoDataClassesDataContext context = new UserInfoDataClassesDataContext();
http://blog.51cto.com/images/editer/InBlock.gif                         int userId=context.UserInfo.Max(item => item.UserID);
http://blog.51cto.com/images/editer/InBlock.gif                         return userId;
http://blog.51cto.com/images/editer/InBlock.gif               }
http://blog.51cto.com/images/editer/InBlock.gif         }
http://blog.51cto.com/images/editer/InBlock.gif }

页: [1]
查看完整版本: ADO.NET与ORM的比较(3)Linq to SQL实现CRUD