2009-10-26 5 views
8

seçkin bir içeren bir tablo kilitleme Entity Framework kullanarak buihtiyacım Entity Framework

select * from myTable with (xlock,holdlock) 

böyle bir şey yapmak. Mümkün mü? Serializable yalıtım düzeyi ile TransactionScope açtım, ancak seçimlerim tabloları kilitlemiyor. İşlem kapsamını tamamlayana kadar kilitlenmelerini istiyorum.

cevap

6

mümkündür ancak LINQ kullanırken (aynı bildiğim kadarıyla) kilitleme ipucu ekleyemezsiniz SQL sorunu vardır:

ObjectContext.ExecuteStoreCommand(
       string.Format("select 1 from [{0}] with (tablockx, holdlock) where 0 = 1", 
           tableName)); 

Bunu yaparsanız o zaman bir işlem kapsamı içinde sen İşlemi tamamlayana kadar kilidi tutacağım.

Biraz daha bilgi burada bulunabilir:

http://peplowdown.wordpress.com/2010/07/18/locking-across-servers-table-locks-with-entity-framework/