EntityFramework实现CRUD

using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Data;
 using System.Data.EntityClient;
 using System.Configuration;
 
 namespace EntityFrameworkDemo
 {
     /// <summary>
     /// 说明:这个类是为了演示.NET中的Entity Framework的用法
     /// 日期:2010-05-05
     /// </summary>
     public class EntityFrameworkCRUD
     {
         /// <summary>
         /// 统计用户总数
         /// </summary>
         /// <returns></returns>
         public int Count()
         {
             #region 方法一,使用Entity SQL
             //EntityConnection connection = new EntityConnection(ConfigurationManager.ConnectionStrings["AspNetStudyEntities"].ConnectionString);
             //EntityCommand command = new EntityCommand("select count(1) from AspNetStudyEntities.Users", connection);
             //connection.Open();
             //int count = int.Parse(command.ExecuteScalar().ToString());
             //connection.Close();
             //return count;
             #endregion
 
             #region 方法二,使用Linq to Entities
             using(AspNetStudyEntities entities = new AspNetStudyEntities())
        {
             //entities.UserInfo.Count<UserInfo>(item => item.Age > 23);//带条件查询
             return entities.UserInfo.Count<UserInfo>();
         }
             #endregion
 
            
         }
         /// <summary>
         /// 创建用户
         /// </summary>
         /// <param name="info">用户实体</param>
         /// <returns></returns>
         public void Create(UserInfo info)
         {
             using(AspNetStudyEntities entities = new AspNetStudyEntities())
        {
             entities.AddToUserInfo(info);
             entities.SaveChanges();
         }
         }
         /// <summary>
         /// 读取用户信息
         /// </summary>
         /// <param name="userId">用户编号</param>
         /// <returns></returns>
         public UserInfo Read(int userId)
         {
             //AspNetStudyEntities entities = new AspNetStudyEntities();
             //return entities.UserInfo.First<UserInfo>(item => item.UserID == userId);
 
             #region 方法二,使用EntityKey
              using(AspNetStudyEntities entities = new AspNetStudyEntities())
        {
             EntityKey entityKey = new EntityKey("AspNetStudyEntities.UserInfo","UserID",userId);
             return entities.GetObjectByKey(entityKey) as UserInfo;
         }
             #endregion
         }
         /// <summary>
         /// 更新用户信息
         /// </summary>
         /// <param name="info">用户实体</param>
         /// <returns></returns>
         public void Update(UserInfo info)
         {
            using(AspNetStudyEntities entities = new AspNetStudyEntities())
        {
             UserInfo ui = entities.UserInfo.First<UserInfo>(item => item.UserID == info.UserID);
             ui.Age = info.Age;
             ui.Email = info.Email;
             ui.Mobile = info.Mobile;
             ui.Phone = info.Phone;
             ui.RealName = info.RealName;
             ui.Sex = info.Sex;
             ui.UserName = info.UserName;
             entities.SaveChanges();
         }
         }
         /// <summary>
         /// 删除用户
         /// </summary>
         /// <param name="userId">用户编号</param>
         /// <returns></returns>
         public void Delete(int userId)
         {
             #region 方法一
             //EntityConnection connection = new EntityConnection(ConfigurationManager.ConnectionStrings["AspNetStudyEntities"].ConnectionString);
             //EntityCommand command = new EntityCommand("delete from AspNetStudyEntities.UserInfo as u where u.UserId="+userId, connection);
             //connection.Open();
             //int count = int.Parse(command.ExecuteScalar().ToString());
             //connection.Close();
             #endregion
 
             #region 方法二
            using(AspNetStudyEntities entities = new AspNetStudyEntities())
        {
             UserInfo ui = entities.UserInfo.First<UserInfo>(item => item.UserID == userId);
             entities.DeleteObject(ui);
             entities.SaveChanges();
         }
             #endregion
         }
 
         /// <summary>
         /// 删除用户
         /// </summary>
         /// <param name="userId">用户实体</param>
         /// <returns></returns>
         public void Delete(UserInfo info)
         {
             using(AspNetStudyEntities entities = new AspNetStudyEntities())
        {
             UserInfo ui = entities.UserInfo.First<UserInfo>(item => item.UserID == info.UserID);
             entities.DeleteObject(ui);
             entities.SaveChanges();
         }
         }
 
         /// <summary>
         /// 获取用户表中编号最大的用户
         /// </summary>
         /// <returns></returns>
         public int GetMaxUserId()
         {
             using(AspNetStudyEntities entities = new AspNetStudyEntities())
        {
             int userId=entities.UserInfo.Max<UserInfo>(item => item.UserID);
             return userId;
         }
         }
     }
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值