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

कई परिणाम सेट के साथ Dapper.NET और संग्रहीत खरीद

QueryMultiple एकाधिक परिणाम सेट से निपटने की क्षमता का समर्थन करता है। हमारे द्वारा जोड़ा गया एकमात्र डिज़ाइन प्रतिबंध ग्रिड रीडर के लिए बफरिंग को पूरी तरह अक्षम कर रहा था। इसका अर्थ है कि संपूर्ण API स्ट्रीमिंग है .

सरलतम स्थिति में आप इसका उपयोग कर सकते हैं:

var grid = connection.QueryMultiple("select 1 select 2");
grid.Read<int>().First().IsEqualTo(1);
grid.Read<int>().First().IsEqualTo(2);

थोड़े अधिक परिष्कृत मामले में आप इस तरह से पागल चीजें कर सकते हैं:

var p = new DynamicParameters();
p.Add("a", 11);
p.Add("r", dbType: DbType.Int32, direction: ParameterDirection.ReturnValue);

connection.Execute(@"create proc #spEcho
@a int
as 
begin

select @a Id, 'ping' Name, 1 Id, 'pong1' Name
select @a Id, 'ping' Name, 2 Id, 'pong2' Name
return @a
end");

var grid = connection.QueryMultiple("#spEcho", p, 
                                     commandType: CommandType.StoredProcedure);

var result1 = grid.Read<dynamic, dynamic, Tuple<dynamic, dynamic>>(
                  (a, b) => Tuple.Create((object)a, (object)b)).ToList();
var result2 = grid.Read<dynamic, dynamic, Tuple<dynamic, dynamic>>(
                  (a, b) => Tuple.Create((object)a, (object)b)).ToList();

((int)(result1[0].Item1.Id)).IsEqualTo(11);
((int)(result1[0].Item2.Id)).IsEqualTo(1);

((int)(result2[0].Item1.Id)).IsEqualTo(11);
((int)(result2[0].Item2.Id)).IsEqualTo(2);

p.Get<int>("r").IsEqualTo(11);

QueryMultiple को सक्षम करने के लिए आपको इसे कथन का उपयोग करके जोड़ना होगा।

using Dapper; /* to add extended method QueryMultiple public static GridReader QueryMultiple(this IDbConnection cnn, string sql, object param = null, IDbTransaction transaction = null, int? commandTimeout = null, CommandType? commandType = null); */


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सप्ताह की शुरुआत तिथि और सप्ताह की समाप्ति तिथि सप्ताह संख्या से प्राप्त करें

  2. मैं JDBC ड्राइवर के साथ एकीकृत सुरक्षा का उपयोग करके SQL सर्वर से कैसे जुड़ सकता हूँ?

  3. SQL सर्वर पुनर्निर्माण अनुक्रमणिका क्वेरी

  4. SQL सर्वर में किसी मौजूदा तालिका में प्राथमिक कुंजी कैसे जोड़ें (T-SQL उदाहरण)

  5. ड्राइवर सिक्योर सॉकेट लेयर (एसएसएल) एन्क्रिप्शन का उपयोग करके SQL सर्वर से सुरक्षित कनेक्शन स्थापित नहीं कर सका