Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SqlQuery के साथ संग्रहीत कार्यविधि से एकाधिक परिणाम संभालें

DbContext एकाधिक परिणामों को अमल में लाने के लिए कोई मूल समर्थन नहीं है। हालांकि, ObjectContext . पर ड्रॉप डाउन करके इसे प्राप्त करना उचित रूप से सीधा है और Translate . का उपयोग करके DbDataReader . से परिणाम कॉपी करने की विधि आपके डोमेन मॉडल में संस्थाओं में।

यहाँ कुछ उदाहरण कोड है। यह आपके ReferrerStatisticResult . को मानता है Set1 . नामक दो सूचियों के लिए केवल एक कंटेनर है और Set2 . स्पष्ट रूप से अपने वास्तविक डोमेन मॉडल के अनुसार समायोजित करें।

// 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. अपने SQL सर्वर मॉनिटरिंग स्वामित्व की कुल लागत की गणना करें

  2. पायथन का उपयोग कर विंडोज प्रमाणीकरण के साथ एमएस एसक्यूएल सर्वर से कनेक्ट करना?

  3. क्या मैं संग्रहीत प्रक्रिया के भीतर एक डिफ़ॉल्ट स्कीमा सेट कर सकता हूं?

  4. डेटाबेस में सभी तालिकाओं का आकार प्राप्त करें

  5. SSIS में मर्ज जॉइन और लुकअप ट्रांसफॉर्मेशन में क्या अंतर हैं?