public static string GetSequencePrefix(IDataLayer dataLayer) { if (dataLayer == null) { throw new ArgumentNullException("dataLayer"); } lock (SyncRoot) { if (dataLayerForCachedServerPrefix /*.Target*/ != dataLayer) { using (Session session = new Session(dataLayer)) { XpoServerId sid = session.GetObjectByKey <XpoServerId>(0); if (sid == null) { // we can throw exception here instead of creating random prefix sid = new XpoServerId(session); sid.SequencePrefix = XpoDefault.NewGuid().ToString(); try { sid.Save(); } catch { sid = session.GetObjectByKey <XpoServerId>(0, true); if (sid == null) { throw; } } } cachedSequencePrefix = sid.SequencePrefix; dataLayerForCachedServerPrefix = dataLayer; // dataLayerForCachedServerPrefix.Target = dataLayer; <<< if WeakReference } } return(cachedSequencePrefix); } }
protected override void OnSaving() { base.OnSaving(); if (!(Session is NestedUnitOfWork) && Session.IsNewObject(this)) { _Oid = XpoDefault.NewGuid(); } }
protected override void OnSaving() { base.OnSaving(); if (Session is NestedUnitOfWork || !Session.IsNewObject(this) || !Oid.Equals(Guid.Empty)) { return; } Oid = XpoDefault.NewGuid(); }
protected override void OnSaving() { base.OnSaving(); if (TrucateStrings) { DoTrucateStrings(); } if (!(Session is NestedUnitOfWork) && Session.IsNewObject(this) && _oid == Guid.Empty) { _oid = XpoDefault.NewGuid(); } }
private Guid NewGuid() { //SequentialGuid.Create(SequentialGuidType.SequentialAsString) if (IsSequential) { return(SQLGuidUtil.NewSequentialId()); } else { return(XpoDefault.NewGuid()); } }
protected override void OnSaving() { if (TrucateStrings) { DoTrucateStrings(); } base.OnSaving(); if (Session is NestedUnitOfWork || !Session.IsNewObject(this) || !_oid.Equals(Guid.Empty)) { return; } _oid = XpoDefault.NewGuid(); }
public override void AfterConstruction() { base.AfterConstruction(); _oid = XpoDefault.NewGuid(); }