public void SomeMethod1()
{
using (TemplateEntities ctx = new TemplateEntities())
{
//do something in this ctx
}
}
public void SomeMethod2()
{
using (TemplateEntities ctx = new TemplateEntities())
{
//do something else in this ctx
}
}
public void SomeMethod()
{
using (TemplateEntities ctx = new TemplateEntities())
{
using (TransactionScope tran = new TransactionScope())
{
SomeMethod1();
SomeMethod2();
var itemToDelete= (from x in ctx.Xxx
where x.Id==1
select x).Single();
ctx.Xxx.DeleteObject(itemToDelete);
ctx.SaveChanges();
tran.Complete();
}
}
}
Qu'est-ce qui se passe dans SomeMethod est exécuté dans une transaction même s'il y a plus de contextes? J'utilise POCO.Question sur Entity Framework and Transactions
Mais si nous parlons de tables avec une base de données c'est correct mon exemple? – gigi
Non, il faudra encore MSDTC. Cependant, lorsque vous gérez votre propre connexion, ce ne sera pas un problème. Voir http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/189b2718-c2b0-4290-8517-3cd3da4314fc pour plus d'informations. –