public TableDefinition(
            StorageProviderDefinition storageProviderDefinition,
            EntityNameDefinition tableName,
            EntityNameDefinition viewName,
            ObjectIDStoragePropertyDefinition objectIDProperty,
            IRdbmsStoragePropertyDefinition timestampProperty,
            IEnumerable <IRdbmsStoragePropertyDefinition> dataProperties,
            IEnumerable <ITableConstraintDefinition> constraints,
            IEnumerable <IIndexDefinition> indexes,
            IEnumerable <EntityNameDefinition> synonyms)
            : base(
                storageProviderDefinition,
                viewName,
                objectIDProperty,
                timestampProperty,
                dataProperties,
                indexes,
                synonyms)
        {
            ArgumentUtility.CheckNotNull("tableName", tableName);
            ArgumentUtility.CheckNotNull("constraints", constraints);

            _tableName   = tableName;
            _constraints = constraints.ToList().AsReadOnly();
        }
        public FilterViewDefinition(
            StorageProviderDefinition storageProviderDefinition,
            EntityNameDefinition viewName,
            IRdbmsStorageEntityDefinition baseEntity,
            IEnumerable <string> classIDs,
            ObjectIDStoragePropertyDefinition objectIDProperty,
            IRdbmsStoragePropertyDefinition timestampProperty,
            IEnumerable <IRdbmsStoragePropertyDefinition> dataProperties,
            IEnumerable <IIndexDefinition> indexes,
            IEnumerable <EntityNameDefinition> synonyms)
            : base(
                storageProviderDefinition,
                viewName,
                objectIDProperty,
                timestampProperty,
                dataProperties,
                indexes,
                synonyms)
        {
            ArgumentUtility.CheckNotNull("baseEntity", baseEntity);
            ArgumentUtility.CheckNotNull("classIDs", classIDs);

            var classIDsList = classIDs.ToList().AsReadOnly();

            ArgumentUtility.CheckNotNullOrEmpty("classIDs", classIDsList);

            if (!(baseEntity is TableDefinition || baseEntity is FilterViewDefinition))
            {
                throw new ArgumentException("The base entity must either be a TableDefinition or a FilterViewDefinition.", "baseEntity");
            }

            _baseEntity = baseEntity;
            _classIDs   = classIDsList;
        }
        public override void SetUp()
        {
            base.SetUp();

            _rdbmsPersistenceModelProvider = new RdbmsPersistenceModelProvider();

            _dbCommandBuilderFactoryStrictMock = MockRepository.GenerateStrictMock <IDbCommandBuilderFactory>();
            _objectReaderFactoryStrictMock     = MockRepository.GenerateStrictMock <IObjectReaderFactory>();
            _dbCommandBuilderStub              = MockRepository.GenerateStub <IDbCommandBuilder> ();
            _dataContainerReaderStub           = MockRepository.GenerateStub <IObjectReader <DataContainer> > ();
            _objectIDReaderStub                = MockRepository.GenerateStub <IObjectReader <ObjectID> > ();
            _fakeStorageProviderCommandFactory = MockRepository.GenerateStub <IStorageProviderCommandFactory <IRdbmsProviderCommandExecutionContext> >();

            _factory = new RelationLookupCommandFactory(
                _fakeStorageProviderCommandFactory,
                _dbCommandBuilderFactoryStrictMock,
                _rdbmsPersistenceModelProvider,
                _objectReaderFactoryStrictMock);

            _tableDefinition     = TableDefinitionObjectMother.Create(TestDomainStorageProviderDefinition, new EntityNameDefinition(null, "Table1"));
            _unionViewDefinition = UnionViewDefinitionObjectMother.Create(
                TestDomainStorageProviderDefinition,
                new EntityNameDefinition(null, "ViewName"),
                _tableDefinition);

            _foreignKeyValue = CreateObjectID(_tableDefinition);
            _foreignKeyStoragePropertyDefinitionStrictMock = MockRepository.GenerateStrictMock <IRdbmsStoragePropertyDefinition>();

            _fakeComparedColumns = new[] { new ColumnValue(ColumnDefinitionObjectMother.IDColumn, _foreignKeyValue.Value) };
        }
示例#4
0
        public static ColumnDefinition GetSingleColumn(IRdbmsStoragePropertyDefinition rdbmsStoragePropertyDefinition)
        {
            var columns = rdbmsStoragePropertyDefinition.GetColumns().ToArray();

            Assert.That(columns, Has.Length.EqualTo(1));
            return(columns.Single());
        }
示例#5
0
        private void StubPersistenceModelProviderForProperty(
            Type declaringType, string shortPropertyName, IRdbmsStoragePropertyDefinition storagePropertyDefinitionStub)
        {
            var propertyDefinition = GetPropertyDefinition(declaringType, shortPropertyName);

            _persistenceModelProviderStub.Stub(stub => stub.GetStoragePropertyDefinition(propertyDefinition)).Return(storagePropertyDefinitionStub);
        }
示例#6
0
        private void CheckForeignKeyObjectIDStorageProperty(
            IRdbmsStoragePropertyDefinition result,
            string expectedValueColumnName,
            StorageTypeInformation expectedValueColumnStorageTypeInfo,
            string expectedClassIDColumnName,
            StorageTypeInformation expectedClassIDStorageTypeInformation)
        {
            Assert.That(result, Is.TypeOf(typeof(ObjectIDStoragePropertyDefinition)));
            var valueProperty        = ((ObjectIDStoragePropertyDefinition)result).ValueProperty;
            var classIDValueProperty = ((ObjectIDStoragePropertyDefinition)result).ClassIDProperty;

            Assert.That(valueProperty, Is.TypeOf(typeof(SimpleStoragePropertyDefinition)));
            Assert.That(valueProperty.PropertyType, Is.SameAs(typeof(object)));

            Assert.That(classIDValueProperty, Is.TypeOf(typeof(SimpleStoragePropertyDefinition)));
            Assert.That(classIDValueProperty.PropertyType, Is.SameAs(typeof(string)));

            var valueIDColumn = ((SimpleStoragePropertyDefinition)valueProperty).ColumnDefinition;
            var classIDColumn = ((SimpleStoragePropertyDefinition)classIDValueProperty).ColumnDefinition;

            Assert.That(valueIDColumn.Name, Is.EqualTo(expectedValueColumnName));
            Assert.That(valueIDColumn.StorageTypeInfo, Is.SameAs(expectedValueColumnStorageTypeInfo));
            Assert.That(valueIDColumn.IsPartOfPrimaryKey, Is.False);

            Assert.That(classIDColumn.Name, Is.EqualTo(expectedClassIDColumnName));
            Assert.That(classIDColumn.StorageTypeInfo, Is.SameAs(expectedClassIDStorageTypeInformation));
            Assert.That(classIDColumn.IsPartOfPrimaryKey, Is.False);
        }
        public InfrastructureStoragePropertyDefinitionProvider(
            IStorageTypeInformationProvider storageTypeInformationProvider,
            IStorageNameProvider storageNameProvider)
        {
            ArgumentUtility.CheckNotNull("storageTypeInformationProvider", storageTypeInformationProvider);
            ArgumentUtility.CheckNotNull("storageNameProvider", storageNameProvider);

            _idColumnDefinition = new ColumnDefinition(
                storageNameProvider.GetIDColumnName(),
                storageTypeInformationProvider.GetStorageTypeForID(false),
                true);
            _classIDColumnDefinition = new ColumnDefinition(
                storageNameProvider.GetClassIDColumnName(),
                storageTypeInformationProvider.GetStorageTypeForClassID(false),
                false);
            _timestampColumnDefinition = new ColumnDefinition(
                storageNameProvider.GetTimestampColumnName(),
                storageTypeInformationProvider.GetStorageTypeForTimestamp(false),
                false);

            _objectIDStoragePropertyDefinition = new ObjectIDStoragePropertyDefinition(
                new SimpleStoragePropertyDefinition(typeof(object), _idColumnDefinition),
                new SimpleStoragePropertyDefinition(typeof(string), _classIDColumnDefinition));
            _timestampStoragePropertyDefinition = new SimpleStoragePropertyDefinition(typeof(object), _timestampColumnDefinition);
        }
 private static CompoundStoragePropertyDefinition CreateDefinedCompoundStoragePropertyDefinition(
     IRdbmsStoragePropertyDefinition propertyA, IRdbmsStoragePropertyDefinition propertyB)
 {
     return(new CompoundStoragePropertyDefinition(
                typeof(int),
                CreateNestedPropertyInfos(propertyA, propertyB),
                values => 7));
 }
示例#9
0
        public ObjectIDReader(IRdbmsStoragePropertyDefinition idProperty, IColumnOrdinalProvider columnOrdinalProvider)
        {
            ArgumentUtility.CheckNotNull("idProperty", idProperty);
            ArgumentUtility.CheckNotNull("columnOrdinalProvider", columnOrdinalProvider);

            _idProperty            = idProperty;
            _columnOrdinalProvider = columnOrdinalProvider;
        }
        public ObjectIDStoragePropertyDefinition(IRdbmsStoragePropertyDefinition valueProperty, IRdbmsStoragePropertyDefinition classIDProperty)
        {
            ArgumentUtility.CheckNotNull("valueProperty", valueProperty);
            ArgumentUtility.CheckNotNull("classIDProperty", classIDProperty);

            _valueProperty   = valueProperty;
            _classIDProperty = classIDProperty;
        }
            public NestedPropertyInfo(IRdbmsStoragePropertyDefinition storagePropertyDefinition, Func <object, object> valueAccessor)
            {
                ArgumentUtility.CheckNotNull("storagePropertyDefinition", storagePropertyDefinition);
                ArgumentUtility.CheckNotNull("valueAccessor", valueAccessor);

                _storagePropertyDefinition = storagePropertyDefinition;
                _valueAccessor             = valueAccessor;
            }
示例#12
0
        private PropertyDefinition CreatePropertyWithStubbedStorageProperty(
            ClassDefinition classDefinition, IRdbmsStoragePropertyDefinition storagePropertyDefinition, string propertyName, IPropertyInformation propertyInfo)
        {
            PropertyDefinition propertyDefinition = PropertyDefinitionObjectMother.CreateForPropertyInformation(classDefinition, propertyName, propertyInfo);

            _persistenceModelProviderStub
            .Stub(stub => stub.GetStoragePropertyDefinition(propertyDefinition))
            .Return(storagePropertyDefinition);
            return(propertyDefinition);
        }
示例#13
0
        public override void SetUp()
        {
            base.SetUp();

            _valuePropertyFactoryMock    = MockRepository.GenerateStrictMock <IValueStoragePropertyDefinitionFactory> ();
            _relationPropertyFactoryMock = MockRepository.GenerateStrictMock <IRelationStoragePropertyDefinitionFactory> ();

            _factory = new DataStoragePropertyDefinitionFactory(_valuePropertyFactoryMock, _relationPropertyFactoryMock);

            _fakeStoragePropertyDefinition = MockRepository.GenerateStub <IRdbmsStoragePropertyDefinition>();
        }
        public TimestampReader(
            IRdbmsStoragePropertyDefinition idProperty, IRdbmsStoragePropertyDefinition timestampProperty, IColumnOrdinalProvider columnOrdinalProvider)
        {
            ArgumentUtility.CheckNotNull("idProperty", idProperty);
            ArgumentUtility.CheckNotNull("timestampProperty", timestampProperty);
            ArgumentUtility.CheckNotNull("columnOrdinalProvider", columnOrdinalProvider);

            _idProperty            = idProperty;
            _timestampProperty     = timestampProperty;
            _columnOrdinalProvider = columnOrdinalProvider;
        }
        private ColumnDefinition GetSingleColumnForLookup(IRdbmsStoragePropertyDefinition storagePropertyDefinition)
        {
            var columns = storagePropertyDefinition.GetColumnsForComparison().ToList();

            if (columns.Count > 1)
            {
                throw new NotSupportedException("Compound-column IDs are not supported by this LINQ provider.");
            }

            return(columns.Single());
        }
示例#16
0
        public override void SetUp()
        {
            base.SetUp();

            _dataReaderStrictMock      = MockRepository.GenerateStrictMock <IDataReader>();
            _idPropertyStrictMock      = MockRepository.GenerateStrictMock <IRdbmsStoragePropertyDefinition> ();
            _columnOrdinalProviderStub = MockRepository.GenerateStub <IColumnOrdinalProvider>();

            _reader = new ObjectIDReader(_idPropertyStrictMock, _columnOrdinalProviderStub);

            _objectID = new ObjectID("Order", Guid.NewGuid());
        }
        public override void SetUp()
        {
            base.SetUp();

            _serializedIDPropertyStub = MockRepository.GenerateStub <IRdbmsStoragePropertyDefinition>();
            _serializedObjectIDStoragePropertyDefinition = new SerializedObjectIDStoragePropertyDefinition(_serializedIDPropertyStub);

            _columnValueProviderStub = MockRepository.GenerateStub <IColumnValueProvider> ();
            _dbCommandStub           = MockRepository.GenerateStub <IDbCommand>();
            _dbDataParameterStub     = MockRepository.GenerateStub <IDbDataParameter>();
            _dbCommandStub.Stub(stub => stub.CreateParameter()).Return(_dbDataParameterStub).Repeat.Once();
            _columnDefinition = ColumnDefinitionObjectMother.CreateColumn();
        }
        public ObjectIDWithoutClassIDStoragePropertyDefinition(IRdbmsStoragePropertyDefinition valueProperty, ClassDefinition classDefinition)
        {
            ArgumentUtility.CheckNotNull("valueProperty", valueProperty);
            ArgumentUtility.CheckNotNull("classDefinition", classDefinition);

            if (classDefinition.IsAbstract)
            {
                throw new ArgumentException("ObjectIDs without ClassIDs cannot have abstract ClassDefinitions.", "classDefinition");
            }

            _valueProperty   = valueProperty;
            _classDefinition = classDefinition;
        }
示例#19
0
        public override void SetUp()
        {
            base.SetUp();

            _dataReaderStrictMock      = MockRepository.GenerateStrictMock <IDataReader> ();
            _idPropertyStrictMock      = MockRepository.GenerateStrictMock <IRdbmsStoragePropertyDefinition>();
            _timestampStrictMock       = MockRepository.GenerateStrictMock <IRdbmsStoragePropertyDefinition>();
            _columnOrdinalProviderStub = MockRepository.GenerateStub <IColumnOrdinalProvider>();

            _reader = new TimestampReader(_idPropertyStrictMock, _timestampStrictMock, _columnOrdinalProviderStub);

            _fakeObjectIDResult  = new ObjectID(typeof(Order), Guid.NewGuid());
            _fakeTimestampResult = new object();
        }
        private void CheckSimplePropertyDefinition(
            IRdbmsStoragePropertyDefinition result,
            Type expectedPropertyType,
            string expectedColumnName,
            StorageTypeInformation expectedStorageTypeInformation)
        {
            Assert.That(result, Is.TypeOf(typeof(SimpleStoragePropertyDefinition)));
            Assert.That(result.PropertyType, Is.SameAs(expectedPropertyType));
            var column = StoragePropertyDefinitionTestHelper.GetSingleColumn(result);

            Assert.That(column.Name, Is.EqualTo(expectedColumnName));
            Assert.That(column.IsPartOfPrimaryKey, Is.False);
            Assert.That(column.StorageTypeInfo, Is.SameAs(expectedStorageTypeInformation));
        }
示例#21
0
 public static EmptyViewDefinition Create(
     StorageProviderDefinition storageProviderDefinition,
     EntityNameDefinition viewName,
     ObjectIDStoragePropertyDefinition objectIDProperty,
     IRdbmsStoragePropertyDefinition timestampProperty,
     IEnumerable <IRdbmsStoragePropertyDefinition> dataProperties)
 {
     return(new EmptyViewDefinition(
                storageProviderDefinition,
                viewName,
                objectIDProperty,
                timestampProperty,
                dataProperties,
                new EntityNameDefinition[0]));
 }
示例#22
0
        public override void SetUp()
        {
            base.SetUp();

            _rdbmsPersistenceModelProviderStub  = MockRepository.GenerateStub <IRdbmsPersistenceModelProvider>();
            _rdbmsStoragePropertyDefinitionStub = MockRepository.GenerateStub <IRdbmsStoragePropertyDefinition>();

            _storageSpecificExpressionResolver = new StorageSpecificExpressionResolver(
                _rdbmsPersistenceModelProviderStub);

            _classDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(Order));
            _classDefinition.SetStorageEntity(
                TableDefinitionObjectMother.Create(
                    TestDomainStorageProviderDefinition,
                    new EntityNameDefinition(null, "Order"),
                    new EntityNameDefinition(null, "OrderView")));
        }
        public override void SetUp()
        {
            base.SetUp();

            _classDefinition = DomainObjectIDs.Order1.ClassDefinition;

            _valueColumnDefinition = ColumnDefinitionObjectMother.CreateColumn();
            _valuePropertyStub     = MockRepository.GenerateStub <IRdbmsStoragePropertyDefinition>();

            _objectIDWithoutClassIDStoragePropertyDefinition = new ObjectIDWithoutClassIDStoragePropertyDefinition(
                _valuePropertyStub, _classDefinition);

            _columnValueProviderStub = MockRepository.GenerateStub <IColumnValueProvider> ();
            _dbCommandStub           = MockRepository.GenerateStub <IDbCommand>();
            _dbDataParameterStub     = MockRepository.GenerateStub <IDbDataParameter>();
            _dbCommandStub.Stub(stub => stub.CreateParameter()).Return(_dbDataParameterStub).Repeat.Once();
        }
示例#24
0
 public TestableRdbmsStorageEntityDefinitionBase(
     StorageProviderDefinition storageProviderDefinition,
     EntityNameDefinition viewName,
     ObjectIDStoragePropertyDefinition idProperty,
     IRdbmsStoragePropertyDefinition timestampProperty,
     IEnumerable <IRdbmsStoragePropertyDefinition> dataProperties,
     IEnumerable <IIndexDefinition> indexes,
     IEnumerable <EntityNameDefinition> synonyms)
     : base(
         storageProviderDefinition,
         viewName,
         idProperty,
         timestampProperty,
         dataProperties,
         indexes,
         synonyms)
 {
 }
        public DataContainerReader(
            IRdbmsStoragePropertyDefinition idProperty,
            IRdbmsStoragePropertyDefinition timestampProperty,
            IColumnOrdinalProvider ordinalProvider,
            IRdbmsPersistenceModelProvider persistenceModelProvider,
            IDataContainerValidator dataContainerValidator)
        {
            ArgumentUtility.CheckNotNull("idProperty", idProperty);
            ArgumentUtility.CheckNotNull("timestampProperty", timestampProperty);
            ArgumentUtility.CheckNotNull("ordinalProvider", ordinalProvider);
            ArgumentUtility.CheckNotNull("persistenceModelProvider", persistenceModelProvider);
            ArgumentUtility.CheckNotNull("dataContainerValidator", dataContainerValidator);

            _idProperty               = idProperty;
            _timestampProperty        = timestampProperty;
            _ordinalProvider          = ordinalProvider;
            _persistenceModelProvider = persistenceModelProvider;
            _dataContainerValidator   = dataContainerValidator;
        }
        public void SetUp()
        {
            var storageTypeInformation = StorageTypeInformationObjectMother.CreateStorageTypeInformation();

            _columnDefinition1 = ColumnDefinitionObjectMother.CreateColumn(storageTypeInformation: storageTypeInformation);
            _columnDefinition2 = ColumnDefinitionObjectMother.CreateColumn(storageTypeInformation: storageTypeInformation);
            _columnDefinition3 = ColumnDefinitionObjectMother.CreateColumn(storageTypeInformation: storageTypeInformation);

            _property1Stub = MockRepository.GenerateStub <IRdbmsStoragePropertyDefinition>();
            _property2Stub = MockRepository.GenerateStub <IRdbmsStoragePropertyDefinition>();
            _property3Stub = MockRepository.GenerateStub <IRdbmsStoragePropertyDefinition>();

            _yearProperty  = new CompoundStoragePropertyDefinition.NestedPropertyInfo(_property1Stub, o => ((DateTime)o).Year);
            _monthProperty = new CompoundStoragePropertyDefinition.NestedPropertyInfo(_property2Stub, o => ((DateTime)o).Month);
            _dayProperty   = new CompoundStoragePropertyDefinition.NestedPropertyInfo(_property3Stub, o => ((DateTime)o).Day);

            _compoundStoragePropertyDefinition = new CompoundStoragePropertyDefinition(
                typeof(DateTime),
                new[] { _yearProperty, _monthProperty, _dayProperty },
                objects => new DateTime((int)objects[0], (int)objects[1], (int)objects[2]));
        }
示例#27
0
        public UnionViewDefinition(
            StorageProviderDefinition storageProviderDefinition,
            EntityNameDefinition viewName,
            IEnumerable <IRdbmsStorageEntityDefinition> unionedEntities,
            ObjectIDStoragePropertyDefinition objectIDProperty,
            IRdbmsStoragePropertyDefinition timestampProperty,
            IEnumerable <IRdbmsStoragePropertyDefinition> dataProperties,
            IEnumerable <IIndexDefinition> indexes,
            IEnumerable <EntityNameDefinition> synonyms)
            : base(
                storageProviderDefinition,
                viewName,
                objectIDProperty,
                timestampProperty,
                dataProperties,
                indexes,
                synonyms)
        {
            ArgumentUtility.CheckNotNull("unionedEntities", unionedEntities);

            var unionedEntitiesList = unionedEntities.ToList().AsReadOnly();

            ArgumentUtility.CheckNotEmpty("unionedEntities", unionedEntitiesList);

            for (int i = 0; i < unionedEntitiesList.Count; ++i)
            {
                var unionedEntity = unionedEntitiesList[i];
                if (!(unionedEntity is TableDefinition || unionedEntity is UnionViewDefinition))
                {
                    throw new ArgumentException(
                              string.Format(
                                  "Item {0} is of type '{1}', but the unioned entities must either be a TableDefinitions or UnionViewDefinitions.",
                                  i,
                                  unionedEntity.GetType()),
                              "unionedEntities");
                }
            }

            _unionedEntities = unionedEntitiesList;
        }
示例#28
0
        public override void SetUp()
        {
            base.SetUp();

            _dataReaderStrictMock        = MockRepository.GenerateStrictMock <IDataReader>();
            _idPropertyStrictMock        = MockRepository.GenerateStrictMock <IRdbmsStoragePropertyDefinition>();
            _timestampPropertyStrictMock = MockRepository.GenerateStrictMock <IRdbmsStoragePropertyDefinition>();
            _fileNamePropertyStrictMock  = MockRepository.GenerateStrictMock <IRdbmsStoragePropertyDefinition> ();
            _orderPropertyStrictMock     = MockRepository.GenerateStrictMock <IRdbmsStoragePropertyDefinition> ();

            _ordinalProviderStub          = MockRepository.GenerateStub <IColumnOrdinalProvider>();
            _persistenceModelProviderStub = MockRepository.GenerateStub <IRdbmsPersistenceModelProvider>();
            _dataContainerValidatorStub   = MockRepository.GenerateStub <IDataContainerValidator>();

            _dataContainerReader = new DataContainerReader(
                _idPropertyStrictMock,
                _timestampPropertyStrictMock,
                _ordinalProviderStub,
                _persistenceModelProviderStub,
                _dataContainerValidatorStub);

            _fakeTimestamp = new object();
        }
示例#29
0
        protected RdbmsStorageEntityDefinitionBase(
            StorageProviderDefinition storageProviderDefinition,
            EntityNameDefinition viewName,
            ObjectIDStoragePropertyDefinition objectIDProperty,
            IRdbmsStoragePropertyDefinition timestampProperty,
            IEnumerable <IRdbmsStoragePropertyDefinition> dataProperties,
            IEnumerable <IIndexDefinition> indexes,
            IEnumerable <EntityNameDefinition> synonyms)
        {
            ArgumentUtility.CheckNotNull("storageProviderDefinition", storageProviderDefinition);
            ArgumentUtility.CheckNotNull("objectIDProperty", objectIDProperty);
            ArgumentUtility.CheckNotNull("timestampProperty", timestampProperty);
            ArgumentUtility.CheckNotNull("dataProperties", dataProperties);
            ArgumentUtility.CheckNotNull("synonyms", synonyms);

            _storageProviderDefinition = storageProviderDefinition;
            _viewName = viewName;

            _objectIDProperty  = objectIDProperty;
            _timestampProperty = timestampProperty;
            _dataProperties    = dataProperties.ToList().AsReadOnly();
            _indexes           = indexes.ToList().AsReadOnly();
            _synonyms          = synonyms.ToList().AsReadOnly();
        }
        public SerializedObjectIDStoragePropertyDefinition(IRdbmsStoragePropertyDefinition serializedIDProperty)
        {
            ArgumentUtility.CheckNotNull("serializedIDProperty", serializedIDProperty);

            _serializedIDProperty = serializedIDProperty;
        }