Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Tangani beberapa hasil dari prosedur tersimpan dengan SqlQuery

DbContext tidak memiliki dukungan asli untuk mewujudkan banyak hasil. Namun, cukup mudah untuk dicapai dengan turun ke ObjectContext dan menggunakan Translate metode untuk menyalin hasil dari DbDataReader menjadi entitas dalam model domain Anda.

Berikut beberapa contoh kode. Ini mengasumsikan ReferrerStatisticResult . Anda hanyalah wadah untuk dua daftar yang disebut Set1 dan Set2 . Jelas sesuaikan dengan model domain Anda yang sebenarnya.

// Create container ready for the resultsets
var result = new RefererStatisticResult();

using (var myContext = new MyContext())
{
    // Create command from the context in order to execute
    // the `GetReferrer` proc
    var command = myContext.Database.Connection.CreateCommand();
    command.CommandType = System.Data.CommandType.StoredProcedure;
    command.CommandText = "[dbo].[GetReferrer]";
    // add in command parameters
    // (not shown)

    try
    {
        myContext.Connection.Open();
        var reader = command.ExecuteReader();

        // Drop down to the wrapped `ObjectContext` to get access to
        // the `Translate` method
        var objectContext = ((IObjectContextAdapter)myContext).ObjectContext;

        // Read Entity1 from the first resultset
        result.Set1 = objectContext.Translate<Entity1>(reader, "Set1", MergeOptions.AppendOnly);

        // Read Entity2 from the second resultset
        reader.NextResult();
        result.Set2 = objectContext.Translate<Entity2>(reader, "Set2", MergeOptions.AppendOnly);        
    }
    finally
    {
        myContext.Database.Connection.Close();
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Instal sqlcmd &bcp di SUSE

  2. Sorotan Cloud Basic:Alat Pemantau Kinerja Basis Data Gratis Terbaik

  3. Pemantauan TempDB SQL Server dengan Menggunakan Tampilan Manajemen Dinamis (DMV)

  4. Impor 'xml' ke dalam Sql Server

  5. Konversi 'smalldatetime' menjadi 'datetime' di SQL Server (Contoh T-SQL)