本文整理汇总了C#中IDataContext.Evict方法的典型用法代码示例。如果您正苦于以下问题:C# IDataContext.Evict方法的具体用法?C# IDataContext.Evict怎么用?C# IDataContext.Evict使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IDataContext
的用法示例。
在下文中一共展示了IDataContext.Evict方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: deleteGimnasticar
private bool deleteGimnasticar(GimnasticarUcesnik g)
{
if (!canDeleteGimnasticar(g))
return false;
Cursor.Current = Cursors.WaitCursor;
Cursor.Show();
try
{
DataAccessProviderFactory factory = new DataAccessProviderFactory();
dataContext = factory.GetDataContext();
dataContext.BeginTransaction();
dataContext.Attach(g, false);
IList<RezultatskoTakmicenje> rezTakmicenja = loadRezTakmicenja(g);
foreach (RezultatskoTakmicenje rezTak in rezTakmicenja)
{
rezTak.Takmicenje1.removeGimnasticar(g);
// najpre ucitavam sprave na kojima je gimnasticar vezbao, da bih
// azurirao samo te poretke. Inace bi se u metodu
// Takmicenje1.gimnasticarDeleted ucitavali svi poretci (da bi se
// proverilo u kojima se gimnasticar nalazi) i zatim bi se svi
// ponovo snimali u bazu.
IList sprave = loadVezbaneSpraveTak1(g);
rezTak.Takmicenje1.gimnasticarDeleted(g, sprave, rezTak);
dataContext.Save(rezTak.Takmicenje1);
foreach (GimnasticarUcesnik g2 in rezTak.Takmicenje1.Gimnasticari)
dataContext.Evict(g2);
}
dataContext.Delete(g);
dataContext.Commit();
return true;
}
catch (Exception ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showError(
String.Format("{0} \n\n{1}", deleteErrorMessage(), ex.Message),
this.Text);
return false;
}
finally
{
if (dataContext != null)
dataContext.Dispose();
dataContext = null;
Cursor.Hide();
Cursor.Current = Cursors.Arrow;
}
}
示例2: btnAdd_Click
private void btnAdd_Click(object sender, EventArgs e)
{
DialogResult dlgResult = DialogResult.None;
SelectGimnasticarUcesnikForm form = null;
try
{
form = new SelectGimnasticarUcesnikForm(
ActiveRezTakmicenje.Takmicenje.Id, ActiveRezTakmicenje.Pol,
ActiveRezTakmicenje.Kategorija);
dlgResult = form.ShowDialog();
}
catch (InfrastructureException ex)
{
MessageDialogs.showError(ex.Message, this.Text);
return;
}
if (dlgResult != DialogResult.OK || form.SelectedEntities.Count == 0)
return;
Cursor.Current = Cursors.WaitCursor;
Cursor.Show();
bool added = false;
List<GimnasticarUcesnik> illegalGimnasticari = new List<GimnasticarUcesnik>();
try
{
DataAccessProviderFactory factory = new DataAccessProviderFactory();
dataContext = factory.GetDataContext();
dataContext.BeginTransaction();
dataContext.Attach(ActiveRezTakmicenje, false);
foreach (GimnasticarUcesnik g in ActiveRezTakmicenje.Takmicenje1.Gimnasticari)
dataContext.Attach(g, false);
foreach (GimnasticarUcesnik g in form.SelectedEntities)
{
if (canAddGimnasticar(ActiveRezTakmicenje, g))
{
ActiveRezTakmicenje.Takmicenje1.addGimnasticar(g);
IList<Ocena> ocene = loadOceneTak1(g);
ActiveRezTakmicenje.Takmicenje1
.gimnasticarAdded(g, ocene, ActiveRezTakmicenje);
added = true;
}
else
{
illegalGimnasticari.Add(g);
}
}
if (added)
{
dataContext.Save(ActiveRezTakmicenje.Takmicenje1);
foreach (GimnasticarUcesnik g in ActiveRezTakmicenje.Takmicenje1.Gimnasticari)
dataContext.Evict(g);
dataContext.Commit();
}
}
catch (InfrastructureException ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showError(ex.Message, this.Text);
Close();
return;
}
catch (Exception ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showMessage(
Strings.getFullDatabaseAccessExceptionMessage(ex), this.Text);
Close();
return;
}
finally
{
if (dataContext != null)
dataContext.Dispose();
dataContext = null;
Cursor.Hide();
Cursor.Current = Cursors.Arrow;
}
if (added)
{
setGimnasticari(ActiveRezTakmicenje.Takmicenje1.Gimnasticari);
updateGimnasticariCount();
}
if (illegalGimnasticari.Count > 0)
{
string msg = "Sledeci gimnasticari nisu dodati: \n\n";
msg += StringUtil.getListString(illegalGimnasticari.ToArray());
// MessageDialogs.showMessage(msg, this.Text);
}
}
示例3: btnDelete_Click
private void btnDelete_Click(object sender, EventArgs e)
{
IList<Ocena> selItems = getDataGridViewUserControl()
.getSelectedItems<Ocena>();
if (selItems.Count != 1)
return;
Ocena ocena = selItems[0];
string msg = String.Format(
"Da li zelite da izbrisete ocenu za gimnasticara '{0}', za spravu '{1}'?",
ocena.Gimnasticar.ImeSrednjeImePrezime, Sprave.toString(ActiveSprava));
if (!MessageDialogs.queryConfirmation(msg, this.Text))
return;
Cursor.Current = Cursors.WaitCursor;
Cursor.Show();
try
{
try
{
DataAccessProviderFactory factory = new DataAccessProviderFactory();
dataContext = factory.GetDataContext();
dataContext.BeginTransaction();
dataContext.Delete(ocena);
IList<RezultatskoTakmicenje> rezTakmicenja = loadRezTakmicenja(ocena.Gimnasticar);
foreach (RezultatskoTakmicenje rezTak in rezTakmicenja)
{
if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
{
rezTak.Takmicenje1.ocenaDeleted(ocena, rezTak);
dataContext.Save(rezTak.Takmicenje1);
}
else if (deoTakKod == DeoTakmicenjaKod.Takmicenje2)
{
if (rezTak.Propozicije.OdvojenoTak2)
{
rezTak.Takmicenje2.ocenaDeleted(ocena, rezTak);
dataContext.Save(rezTak.Takmicenje2);
}
}
else if (deoTakKod == DeoTakmicenjaKod.Takmicenje3)
{
if (rezTak.Propozicije.OdvojenoTak3)
{
rezTak.Takmicenje3.ocenaDeleted(ocena, rezTak);
dataContext.Save(rezTak.Takmicenje3);
}
}
else if (deoTakKod == DeoTakmicenjaKod.Takmicenje4)
{
if (rezTak.Propozicije.OdvojenoTak4)
{
rezTak.Takmicenje4.ocenaDeleted(ocena, rezTak);
dataContext.Save(rezTak.Takmicenje4);
}
}
}
foreach (RezultatskoTakmicenje rezTak in rezTakmicenja)
{
if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
{
foreach (GimnasticarUcesnik g in rezTak.Takmicenje1.Gimnasticari)
dataContext.Evict(g);
}
else if (deoTakKod == DeoTakmicenjaKod.Takmicenje2)
{
foreach (UcesnikTakmicenja2 u in rezTak.Takmicenje2.Ucesnici)
{
if (dataContext.Contains(u.Gimnasticar))
dataContext.Evict(u.Gimnasticar);
dataContext.Evict(u);
}
}
else if (deoTakKod == DeoTakmicenjaKod.Takmicenje3)
{
foreach (UcesnikTakmicenja3 u in rezTak.Takmicenje3.Ucesnici)
{
if (dataContext.Contains(u.Gimnasticar))
dataContext.Evict(u.Gimnasticar);
dataContext.Evict(u);
}
}
}
dataContext.Commit();
}
catch (Exception ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showError(Strings.getFullDatabaseAccessExceptionMessage(ex), this.Text);
Close();
return;
}
finally
{
if (dataContext != null)
//.........这里部分代码省略.........
示例4: btnDelete_Click
private void btnDelete_Click(object sender, EventArgs e)
{
IList<GimnasticarUcesnik> selItems = getActiveDataGridViewUserControl()
.getSelectedItems<GimnasticarUcesnik>();
if (selItems == null || selItems.Count == 0)
return;
bool delete;
if (selItems.Count == 1)
{
delete = MessageDialogs.queryConfirmation(
deleteConfirmationMessage(selItems[0]), this.Text);
}
else
{
delete = MessageDialogs.queryConfirmation(
deleteConfirmationMessage(), this.Text);
}
if (!delete)
return;
Cursor.Current = Cursors.WaitCursor;
Cursor.Show();
try
{
DataAccessProviderFactory factory = new DataAccessProviderFactory();
dataContext = factory.GetDataContext();
dataContext.BeginTransaction();
dataContext.Attach(ActiveRezTakmicenje, false);
foreach (GimnasticarUcesnik g in ActiveRezTakmicenje.Takmicenje1.Gimnasticari)
dataContext.Attach(g, false);
foreach (GimnasticarUcesnik g in selItems)
{
ActiveRezTakmicenje.Takmicenje1.removeGimnasticar(g);
// najpre ucitavam sprave na kojima je gimnasticar vezbao, da bih
// azurirao samo te poretke. Inace bi se u metodu
// Takmicenje1.gimnasticarDeleted ucitavali svi poretci (da bi se
// proverilo u kojima se gimnasticar nalazi) i zatim bi se svi
// ponovo snimali u bazu.
IList sprave = loadVezbaneSpraveTak1(g);
ActiveRezTakmicenje.Takmicenje1.gimnasticarDeleted(g, sprave,
ActiveRezTakmicenje);
}
dataContext.Save(ActiveRezTakmicenje.Takmicenje1);
foreach (GimnasticarUcesnik g in ActiveRezTakmicenje.Takmicenje1.Gimnasticari)
dataContext.Evict(g);
dataContext.Commit();
setGimnasticari(ActiveRezTakmicenje.Takmicenje1.Gimnasticari);
updateGimnasticariCount();
}
catch (Exception ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showError(
String.Format("{0} \n\n{1}", deleteErrorMessage(), ex.Message),
this.Text);
}
finally
{
if (dataContext != null)
dataContext.Dispose();
dataContext = null;
Cursor.Hide();
Cursor.Current = Cursors.Arrow;
}
}