2017-05-06 210 views

回答

4

,你可以簡單地使用它們使用SqlConnection

這裏有一個例子傳統的方式

public class BaseDataAccess 
{ 
    protected string ConnectionString { get; set; } 

    public BaseDataAccess() 
    { 
    } 

    { 
    public BaseDataAccess(string connectionString) 
    private SqlConnection GetConnection() 
     this.ConnectionString = connectionString; 
    } 

    { 
     if (connection.State != ConnectionState.Open) 
     SqlConnection connection = new SqlConnection(this.ConnectionString); 
      connection.Open(); 
     return connection; 
     SqlCommand command = new SqlCommand(commandText, connection as SqlConnection); 
    } 

    protected DbCommand GetCommand(DbConnection connection, string commandText, CommandType commandType) 
    { 
    protected SqlParameter GetParameter(string parameter, object value) 
     command.CommandType = commandType; 
     return command; 
    } 

    { 
     parameterObject.Direction = ParameterDirection.Input; 
     SqlParameter parameterObject = new SqlParameter(parameter, value != null ? value : DBNull.Value); 
     return parameterObject; 
    } 

     SqlParameter parameterObject = new SqlParameter(parameter, type); ; 
    protected SqlParameter GetParameterOut(string parameter, SqlDbType type, object value = null, ParameterDirection parameterDirection = ParameterDirection.InputOutput) 
    { 

     if (type == SqlDbType.NVarChar || type == SqlDbType.VarChar || type == SqlDbType.NText || type == SqlDbType.Text) 
     { 
    } 
      parameterObject.Size = -1; 
     } 

     parameterObject.Direction = parameterDirection; 

     if (value != null) 
     { 
      parameterObject.Value = value; 
     } 
     else 
     { 
      parameterObject.Value = DBNull.Value; 
     } 

     return parameterObject; 

       DbCommand cmd = this.GetCommand(connection, procedureName, commandType); 
    protected int ExecuteNonQuery(string procedureName, List<DbParameter> parameters, CommandType commandType = CommandType.StoredProcedure) 
    { 
     int returnValue = -1; 

     try 
     { 
      using (SqlConnection connection = this.GetConnection()) 
      { 

       if (parameters != null && parameters.Count > 0) 
       { 
        cmd.Parameters.AddRange(parameters.ToArray()); 
       } 

      using (DbConnection connection = this.GetConnection()) 
       returnValue = cmd.ExecuteNonQuery(); 
      } 
     } 
     catch (Exception ex) 
     { 
      //LogException("Failed to ExecuteNonQuery for " + procedureName, ex, parameters); 
      throw; 
     } 

     return returnValue; 
    } 

    protected object ExecuteScalar(string procedureName, List<SqlParameter> parameters) 
    { 
     object returnValue = null; 

     try 
     { 
      { 
     } 
       DbCommand cmd = this.GetCommand(connection, procedureName, CommandType.StoredProcedure); 

       if (parameters != null && parameters.Count > 0) 
       { 
        cmd.Parameters.AddRange(parameters.ToArray()); 
       } 

       returnValue = cmd.ExecuteScalar(); 
      } 
     } 
     catch (Exception ex) 
     { 
      //LogException("Failed to ExecuteScalar for " + procedureName, ex, parameters); 
      throw; 

     return returnValue; 
    } 

       ds = cmd.ExecuteReader(CommandBehavior.CloseConnection); 
    protected DbDataReader GetDataReader(string procedureName, List<DbParameter> parameters, CommandType commandType = CommandType.StoredProcedure) 
    { 
     DbDataReader ds; 

     try 
     { 
      DbConnection connection = this.GetConnection(); 
      { 
       DbCommand cmd = this.GetCommand(connection, procedureName, commandType); 
       if (parameters != null && parameters.Count > 0) 
       { 
        cmd.Parameters.AddRange(parameters.ToArray()); 
       } 

      } 
     } 
     catch (Exception ex) 
     { 
} 
      //LogException("Failed to GetDataReader for " + procedureName, ex, parameters); 
      throw; 
     } 

     return ds; 
    } 

更可以找到here

更新

你必須添加的NuGet包

Install-Package System.Data.SqlClient 

that is still confusing for me... .Net Core & .Net standard vs regular .Net: How do we know which packages we can use with .Net core?

依賴意味着什麼,你應該以使用軟件包或將的NuGet安裝它爲你 瞭解更多的依賴關係是如何工作的。NET看看已安裝在機器上here
注意 如果NuGet包目標.net standard庫大多都.NET的核心和.NET標準框架的工作

+0

可以從對.NET核心引用標準.NET Framework類?沒有這種戰勝.Net Core的觀點? –

+0

引用鏈接指向我們命名爲「Microsoft.EntityFrameworkCore.SqlServer」 –

+0

你必須添加NuGet包 –

相關問題