以前用SQL写批量删除的时候,感觉挺利索的,简洁地写了
public bool Delectusersuggest(string addsql)
{
bool resultdelete = false;
string sql = "delete from UserSuggest where";
sql += addsql;
resultdelete = this.ExeSQL(sql);
return resultdelete;
},然后在页面层直接调用
现在用Entity Framework,感觉有点麻烦不能直接delete,还要先把数据查出来,以下是主要代码:
1、先查出实体
#region 通过供应商用户ID返回供应商实体 --LJY
/// <summary>
/// 通过传入供应商用户ID返回对应的供应商实体
/// </summary>
/// <param name="supplierid"></param>
/// <returns></returns>
public Entity.供应商信息表 SelectOneSupplier(int supplierid) {
Entity.供应商信息表 supp= null;
try
{
supp = context.TB_CUS_SUPPLIER_INFO.Single(b=>b.SUPP_ID==supplierid);
}
catch { }
return supp;
}
#endregion
2、再删除
#region 批量删除供应商用户 --LJY
/// <summary>
/// 传入供应商用户ID数组,批量删除供应商用户,成功返回true,失败返回false
/// </summary>
/// <param name="arr"></param>
/// <returns></returns>
public bool DeleteBatchSupplier(string sids) {
bool flag = false;
context.Connection.Open();
var tran = context.Connection.BeginTransaction();
try
{
sids=sids.Substring(0, sids.Length - 1);
string[] ids = sids.Split('|');
foreach (var item in ids)
{
Entity.供应商信息表 mm = new Entity.供应商信息表();
mm = this.SelectOneSupplier(Convert.ToInt32(item));
context.TB_CUS_SUPPLIER_INFO.DeleteObject(mm);
context.SaveChanges();
}
tran.Commit();
flag = true;
context.Connection.Close();
}
catch {
tran.Rollback();
context.Connection.Close();
}
return flag;
}
#endregion
以上是小弟的不才之解,不过可以成功实现自己想要用的功能,哪里不中处望各位指教,谢谢!