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;
}
}
}
}
EntityFramework实现CRUD
最新推荐文章于 2019-12-31 14:18:03 发布