#region 删除
/// <summary>
/// 删除一条数据
/// </summary>
/// <param name="model">删除的对象</param>
/// <returns>影响行数</returns>
public int DeleteByModel(T model)
{
DbSet<T> ds = db.Set<T>();
ds.Attach(model);
ds.Remove(model);
return db.SaveChanges();
}
/// <summary>
/// 删除多条记录
/// </summary>
/// <param name="modelList">删除的对象的集合</param>
/// <returns>影响行数</returns>
public int DeleteByList(List<T> modelList)
{
DbSet<T> ds = db.Set<T>();
modelList.ForEach(m =>
{
ds.Attach(m);
ds.Remove(m);
});
return db.SaveChanges();
}
/// <summary>
/// 根据条件删除
/// </summary>
/// <param name="where">条件</param>
/// <returns>影响行数</returns>
public int DeleteByWhere(Expression<Func<T, bool>> where)
{
if (where == null)
{
throw new ArgumentNullException("条件(where)不能为空");
}
DbSet<T> ds = db.Set<T>();
List<T> query = ds.Where(where).ToList();
query.ForEach(m =>
{
ds.Attach(m);
ds.Remove(m);
});
return db.SaveChanges();
}
#endregion
删除我重载了3个方法,一个是根据对象删除,一个是根据对象的集合删除,一个是根据条件删除
static void Main(string[] args)
{
try
{
MT5RiskManagementEntities mt5 = new MT5RiskManagementEntities();
EntityFramework<User> ef = new EntityFramework<User>(mt5);
int count = 0;
User user = new User() { id = 203, name = "测试00098", age = 23 };
count = ef.DeleteByModel(user);
Console.WriteLine(string.Format("删除了{0}条数据", count));
Console.ReadKey();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.ReadKey();
}
}
static void Main(string[] args)
{
try
{
MT5RiskManagementEntities mt5 = new MT5RiskManagementEntities();
EntityFramework<User> ef = new EntityFramework<User>(mt5);
int count = 0;
List<User> users = new List<User>();
users.Add(new User() { id = 202, name = "测试00097", age = 22 });
users.Add(new User() { id = 201, name = "测试00096", age = 21 });
count = ef.DeleteByList(users);
Console.WriteLine(string.Format("删除了{0}条数据", count));
Console.ReadKey();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.ReadKey();
}
}
static void Main(string[] args)
{
try
{
MT5RiskManagementEntities mt5 = new MT5RiskManagementEntities();
EntityFramework<User> ef = new EntityFramework<User>(mt5);
int count = 0;
count = ef.DeleteByWhere(u=>u.id>150);
Console.WriteLine(string.Format("删除了{0}条数据", count));
Console.ReadKey();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.ReadKey();
}
}