EF删除所有数据行的方法.所以下面给大家介绍几种方法.

使用ExecuteStoreCommand方法,代码如下.

using (var db = new msdbEntities())

{

     db.ExecuteStoreCommand("DELETE " + db.students.EntitySet.ElementType.Name);

}

使用 Entity FrameWork  删除数据,着实是一件比较头疼的数据,若是少量数据,可以使用以下方法删除

var delete=db.NikeDTCDailyReport.Where(u => true);
foreach (var item in delete)
{
db.NikeDTCDailyReport.Remove(item);
}
db.SaveChanges();

 

给数据实体添加一个扩展方法,执行一个删除的SQL命令.如下:

public static class Extens

    {

        public static void DeleteAllSql(this ObjectContext ctx, string sql)

        {

            var entityConnection = (System.Data.EntityClient.EntityConnection)ctx.Connection;

            DbConnection conn = entityConnection.StoreConnection;

            try

            {

                if (conn.State != ConnectionState.Open)

                    conn.Open();

                using (DbCommand cmd = conn.CreateCommand())

                {

                    cmd.CommandText = sql;

                    cmd.ExecuteNonQuery();

                }

            }

            finally

            {

                if (conn.State != ConnectionState.Open)

                    conn.Close();

            }

        }

    }

使用方法如下:

   using (var db = new msdbEntities())

 {

       db.DeleteAllSql("DELETE Students");

   }

posted @ 2016-05-06 23:30  Jesh_95  阅读(2443)  评论(0编辑  收藏  举报