예제 #1
0
        private void EnsureUniqueIndex(IContainSagaData saga)
        {
            var sagaDataType   = saga.GetType();
            var uniqueProperty = UniqueAttribute.GetUniqueProperty(sagaDataType);

            if (uniqueProperty == null)
            {
                return;
            }

            var classmap        = BsonClassMap.LookupClassMap(sagaDataType);
            var membermap       = classmap.GetMemberMap(uniqueProperty.Name);
            var uniqueFieldName = membermap.ElementName;

            _repo.EnsureUniqueIndex(sagaDataType, uniqueFieldName);
        }