本文整理汇总了C#中NeoDatis.Persist方法的典型用法代码示例。如果您正苦于以下问题:C# NeoDatis.Persist方法的具体用法?C# NeoDatis.Persist怎么用?C# NeoDatis.Persist使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NeoDatis
的用法示例。
在下文中一共展示了NeoDatis.Persist方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddWriteAction
/// <summary>Adds a write action to the transaction</summary>
/// <param name="writeAction">The write action to be added</param>
/// <param name="persistWriteAcion">To indicate if write action must be persisted</param>
public virtual void AddWriteAction(NeoDatis.Odb.Core.Transaction.IWriteAction writeAction
, bool persistWriteAcion)
{
if (NeoDatis.Odb.OdbConfiguration.IsDebugEnabled(LogId))
{
NeoDatis.Tool.DLogger.Info("Adding WA in Transaction of session " + session.GetId
());
}
if (writeAction.IsEmpty())
{
return;
}
CheckRollback();
if (!hasBeenPersisted && persistWriteAcion)
{
Persist();
}
if (persistWriteAcion)
{
writeAction.Persist(fsi, numberOfWriteActions + 1);
}
// Only adds the writeaction to the list if the transaction keeps all in
// memory
if (hasAllWriteActionsInMemory)
{
writeActions.Add(writeAction);
}
numberOfWriteActions++;
if (hasAllWriteActionsInMemory && numberOfWriteActions > NeoDatis.Odb.OdbConfiguration
.GetMaxNumberOfWriteObjectPerTransaction())
{
hasAllWriteActionsInMemory = false;
System.Collections.IEnumerator iterator = writeActions.GetEnumerator();
NeoDatis.Odb.Impl.Core.Transaction.DefaultWriteAction wa = null;
while (iterator.MoveNext())
{
wa = (NeoDatis.Odb.Impl.Core.Transaction.DefaultWriteAction)iterator.Current;
wa.Clear();
}
writeActions.Clear();
if (NeoDatis.Odb.OdbConfiguration.IsDebugEnabled(LogId))
{
NeoDatis.Tool.DLogger.Info("Number of objects has exceeded the max number " + numberOfWriteActions
+ "/" + NeoDatis.Odb.OdbConfiguration.GetMaxNumberOfWriteObjectPerTransaction()
+ ": switching to persistent transaction managment");
}
}
}