/// <inheritdoc/> public void InitDatabaseForIdGenerator() { using (Kros.Data.IIdGenerator idGenerator = _queryProvider.CreateIdGenerator("DummyTableName", 1)) { idGenerator.InitDatabaseForIdGenerator(); } }
private void GenerateCustomPrimaryKeys(HashSet <T> items) { if (CanGeneratePrimaryKeys()) { var primaryKey = _tableInfo.PrimaryKey.Single(p => p.AutoIncrementMethodType == AutoIncrementMethodType.Custom); using (var generator = _provider.CreateIdGenerator(_tableInfo.Name, items.Count)) { foreach (T item in items) { if ((int)primaryKey.GetValue(item) == 0) { primaryKey.SetValue(item, generator.GetNext()); } } } } }
private void GenerateCustomPrimaryKeys(HashSet <T> items) { if (CanGeneratePrimaryKeys(out ColumnInfo primaryKey)) { Type dataType = primaryKey.PropertyInfo.PropertyType; string generatorName = primaryKey.AutoIncrementGeneratorName ?? _tableInfo.Name; using (var generator = _provider.CreateIdGenerator(dataType, generatorName, items.Count)) { foreach (T item in items) { var currentValue = primaryKey.GetValue(item); if (primaryKey.IsDefaultValue(currentValue)) { primaryKey.SetValue(item, generator.GetNext()); } } } } }