예제 #1
0
파일: EWDbContext.cs 프로젝트: sishui198/EW
 /// <summary>
 /// 对数据库执行给定的 DDL/DML 命令。
 /// 与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。 您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。
 /// 您提供的任何参数值都将自动转换为 DbParameter。 unitOfWork.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor);
 /// 或者,您还可以构造一个 DbParameter 并将它提供给 SqlQuery。 这允许您在 SQL 查询字符串中使用命名参数。 unitOfWork.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
 /// </summary>
 /// <param name="transactionalBehavior">对于此命令控制事务的创建。</param>
 /// <param name="sql">命令字符串。</param>
 /// <param name="parameters">要应用于命令字符串的参数。</param>
 /// <returns>执行命令后由数据库返回的结果。</returns>
 public async Task <int> ExecuteSqlCommandAsync(EW.Core.Data.TransactionalBehavior transactionalBehavior, string sql, params object[] parameters)
 {
     System.Data.Entity.TransactionalBehavior behavior = transactionalBehavior == EW.Core.Data.TransactionalBehavior.DoNotEnsureTransaction
         ? System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction
         : System.Data.Entity.TransactionalBehavior.EnsureTransaction;
     return(await Database.ExecuteSqlCommandAsync(behavior, sql, parameters));
 }
예제 #2
0
 /// <summary>
 /// 对数据库执行给定的 DDL/DML 命令。
 /// 与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。 您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。
 /// 您提供的任何参数值都将自动转换为 DbParameter。 unitOfWork.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor);
 /// 或者,您还可以构造一个 DbParameter 并将它提供给 SqlQuery。 这允许您在 SQL 查询字符串中使用命名参数。 unitOfWork.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
 /// </summary>
 /// <param name="transactionalBehavior">对于此命令控制事务的创建。</param>
 /// <param name="sql">命令字符串。</param>
 /// <param name="parameters">要应用于命令字符串的参数。</param>
 /// <returns>执行命令后由数据库返回的结果。</returns>
 public int ExecuteSqlCommand(TransactionalBehavior transactionalBehavior, string sql, params object[] parameters)
 {
     System.Data.Entity.TransactionalBehavior behavior = transactionalBehavior == TransactionalBehavior.DoNotEnsureTransaction
         ? System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction
         : System.Data.Entity.TransactionalBehavior.EnsureTransaction;
     return(Database.ExecuteSqlCommand(behavior, sql, parameters));
 }
예제 #3
0
 /// <summary>
 /// 对数据库执行给定的 DDL/DML 命令。
 /// 与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。 您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。
 /// 您提供的任何参数值都将自动转换为 DbParameter。 unitOfWork.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor);
 /// 或者,您还可以构造一个 DbParameter 并将它提供给 SqlQuery。 这允许您在 SQL 查询字符串中使用命名参数。 unitOfWork.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
 /// </summary>
 /// <param name="transactionalBehavior">对于此命令控制事务的创建。</param>
 /// <param name="sql">命令字符串。</param>
 /// <param name="parameters">要应用于命令字符串的参数。</param>
 /// <returns>执行命令后由数据库返回的结果。</returns>
 public virtual int ExecuteSqlCommand(ZeroCode.Repository.Data.TransactionalBehavior transactionalBehavior, string sql, params object[] parameters)
 {
     System.Data.Entity.TransactionalBehavior behavior = transactionalBehavior == ZeroCode.Repository.Data.TransactionalBehavior.DoNotEnsureTransaction
         ? System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction
         : System.Data.Entity.TransactionalBehavior.EnsureTransaction;
     return(Database.ExecuteSqlCommand(behavior, sql, parameters));
 }