Hxj.Data Êý¾Ý¿â×é¼þÎĵµ

Ò²¿ÉÒÔÉèÖÃÊÂÎñµÄ¼¶±ð£¬ÈçÏ£º

DbTrans trans =

DbSession.Default.BeginTransaction(IsolationLevel.ReadCommitted); ×ܵÄÀ´Ëµ×é¼þ¶ÔÊÂÎñ·â×°µÄ±È½Ï¼òµ¥£¬Ð´ÆðÀ´Ëƺõ²»ÊÇÌØ±ð·½±ã£¬Óдý½øÒ»²½µÄ¸Ä½ø¡£

ÔÚʹÓùý³ÌÖоõµÃ²»·½±ã»òÕßÐèÒª¸Ä½øµÄÏ£Íû´ó¼ÒÄÜÌá³öÀ´£¬Ð»Ð»¡£ ÏÂÒ»½Ú½«½²ÊöÅú´¦Àí¡£

Êý¾Ý¿â×é¼þ Hxj.Data £¨Ê®°Ë£© £¨Åú´¦Àí£©

Åú´¦Àí¾ÍÊÇÌá½»µÄ½Å±¾²»ÊÇÂíÉÏÖ´ÐУ¬¶øÊǵ½Ò»¶¨ÊýÁ¿²ÅÌá½»¡£ »¹ÊÇÏÈÉÏÀý×Ó

using (DbBatch batch = DbSession.Default.BeginBatchConnection()) {

batch.Update(Products._.ProductName, \, Products._.ProductID == 1);

batch.Update(Products._.ProductName, \, Products._.ProductID == 2);

batch.Update(Products._.ProductName, \, Products._.ProductID == 3); }

Éú³ÉµÄsql£º

Text:

UPDATE [Products] SET [ProductName]=@3d40ca14f83644f18269874c99e621a5 WHERE [Products].[ProductID] = @50999b135fbf4f068f89bda7ab341ac3; UPDATE [Products] SET [ProductName]=@fe1ea91dd6e14260813ea19abbc245eb WHERE [Products].[ProductID] = @6bef4d78041549fa817c3363bd847d41; UPDATE [Products] SET [ProductName]=@075f1b4639c446be88bfc33638b1f754 WHERE [Products].[ProductID] = @588a5481ff3d4ff58fc304293173b6ab;

Parameters:

@3d40ca14f83644f18269874c99e621a5[String] = apple @50999b135fbf4f068f89bda7ab341ac3[Int32] = 1 @fe1ea91dd6e14260813ea19abbc245eb[String] = pear @6bef4d78041549fa817c3363bd847d41[Int32] = 2 @075f1b4639c446be88bfc33638b1f754[String] = orange @588a5481ff3d4ff58fc304293173b6ab[Int32] = 3

37

ĬÈÏÊÇ10ÌõsqlÖ´ÐÐÒ»´Î¡£Ò²¿ÉÒÔ×Ô¶¨Òå¡£

DbBatch batch = DbSession.Default.BeginBatchConnection(20) ÕâÑù¾ÍÉèÖÃÁË20ÌõsqlÖ´ÐÐÒ»´Î¡£ ²¢¿ÉÒÔÉèÖÃÄÚ²¿ÊÂÎñ¼¶±ð.

DbBatchbatch = DbSession.Default.BeginBatchConnection(20, IsolationLevel.ReadCommitted)

Ò²¿ÉÇ¿ÖÆÐÔÖ´ÐУº

using (DbBatch batch = DbSession.Default.BeginBatchConnection()) {

batch.Update(Products._.ProductName, \, Products._.ProductID == 1);

batch.Update(Products._.ProductName, \, Products._.ProductID == 2); batch.Execute();

batch.Update(Products._.ProductName, \, Products._.ProductID == 3); }

Ö´ÐÐbatch.Execute()£¬¾Í»á½«Ö®Ç°µÄsql½Å±¾ÏÈÌá½»¡£

Éú³ÉµÄsql£º

Text:

UPDATE [Products] SET [ProductName]=@1ae514d0db3247acb196b8d55110a8e8 WHERE [Products].[ProductID] = @c694d46594324eec9db0d1e26a3ea499; UPDATE [Products] SET [ProductName]=@4b1d4e07b6cc45d994e65c5eeac12619 WHERE [Products].[ProductID] = @58fa8ceaede745f0ac541d5c45574309;

Parameters: @1ae514d0db3247acb196b8d55110a8e8[String] = apple @c694d46594324eec9db0d1e26a3ea499[Int32] = 1 @4b1d4e07b6cc45d994e65c5eeac12619[String] = pear @58fa8ceaede745f0ac541d5c45574309[Int32] = 2

Text:

UPDATE [Products] SET [ProductName]=@c3a36b7a94754cd884ee27d4e42199a5 WHERE [Products].[ProductID] = @550ebc4788f54105ababe5d6bdc9cf2a;

38

Parameters: @c3a36b7a94754cd884ee27d4e42199a5[String] = orange @550ebc4788f54105ababe5d6bdc9cf2a[Int32] = 3

¿´Êä³öµÄ½Å±¾·ÖÁ½´ÎÖ´Ðеġ£ try catchµÄд·¨ÈçÏ£º

DbBatch batch = DbSession.Default.BeginBatchConnection(); try {

batch.Update(Products._.ProductName, \, Products._.ProductID == 1);

batch.Update(Products._.ProductName, \, Products._.ProductID == 2);

batch.Update(Products._.ProductName, \, Products._.ProductID == 3); } catch {

//do something }

finally {

batch.Close(); }

Ч¹ûºÍµÚÒ»¸öÀý×ÓÊÇÒ»ÑùµÄ¡£ Åú´¦ÀíÒ²ÊDZȽϼòµ¥µÄ¡£

Êý¾Ý¿â×é¼þ Hxj.Data £¨Ê®¾Å£© £¨ÊÂÎñ¶þ£©

¶ÔÊÂÎñÓнøÐÐÁ˸üУ¬ÓÖµÃÈ¥ÏÂÔØÒ»ÏÂа汾£¬¶ÔÉÏÒ»°æ±¾¼æÈÝ£¬À©³äÁËDbTrans·½·¨¡£

Ïà±ÈÊ®Æß½Ú(ÊÂÎñ)ÖеÄÊÂÎñд·¨¼ò½àÁËһЩ¡£ÈçÏÂ

using (DbTrans trans = DbSession.Default.BeginTransaction()) {

trans.Update(Products._.ProductName, \, Products._.ProductID == 1);

trans.Update(Products._.ProductName, \, Products._.ProductID == 2);

39

trans.Commit(); }

Éú³ÉµÄsql£º

Text:

UPDATE [Products] SET [ProductName]=@e6b783222bb34b98b56fc3012500a0d5 WHERE [Products].[ProductID] = @bdb38c8f8fab405d93231e1b2f19c1e2

Parameters:

@e6b783222bb34b98b56fc3012500a0d5[String] = apple @bdb38c8f8fab405d93231e1b2f19c1e2[Int32] = 1 Text:

UPDATE [Products] SET [ProductName]=@4184e5de4ed545d9bf3f0ba9a38ed6fa WHERE [Products].[ProductID] = @f1da00f3628a43c2a9c66678e71049c7

Parameters:

@4184e5de4ed545d9bf3f0ba9a38ed6fa[String] = egg @f1da00f3628a43c2a9c66678e71049c7[Int32] = 2

Ö´ÐÐЧ¹ûÊÇÒ»ÑùµÄ¡£

try catchµÄд·¨Ò²ÊÇÒ»ÑùµÄ¡£

DbTrans trans = DbSession.Default.BeginTransaction(); try {

trans.Update(Products._.ProductName, \, Products._.ProductID == 1);

trans.Update(Products._.ProductName, \, Products._.ProductID == 2);

trans.Commit(); } catch {

trans.Rollback(); }

finally {

trans.Close(); }

×é¼þÖеÄÊÂÎñ²¢²»ÊÇ·Ö²¼Ê½ÊÂÎñ£¬Ö»ÊǼòµ¥µÄÊÂÎñ·â×°¡£

40

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)