예제 #1
0
        public static void ConfigContainsDataSet <TDb, TKey>(NapDbConfiguration <TDb, TKey> config, IDataSet <TKey> dataset)
            where TDb : INapDb <TKey>
        {
            if (!config.DataSetConfigs.ContainsKey(dataset.Name))
            {
                throw new NapDbException(typeof(TDb).Name, $"Configuration doesn't contains dataset '{dataset.Name}'");
            }

            if (config.DataSetConfigs[dataset.Name].DataSet != dataset)
            {
                throw new NapDbException(typeof(TDb).Name, $"Configuration of dataset '{dataset.Name}' is corrupted");
            }
        }
예제 #2
0
 private void ApplyConfig(NapDbConfiguration <TDatabase, TKey> config)
 {
     _rootDirectory = config.RootPath;
     _locker        = config.Locker;
     foreach (var datasetConfig in config.DataSetConfigs)
     {
         var ds = datasetConfig.Value.DataSet as DataSet <TKey>;
         ds.FolderName      = datasetConfig.Value.FolderName;
         ds.EnableCaching   = datasetConfig.Value.EnableCaching;
         ds.Serializer      = datasetConfig.Value.Serializer;
         ds.NameResolver    = datasetConfig.Value.NameResolver;
         ds.Reader          = datasetConfig.Value.Reader;
         ds.PropertyConfigs = datasetConfig.Value.PropertyConfigs.ToDictionary(x => x.Key, x => (EntityPropertyConfiguration <TKey>)x.Value);
     }
 }
예제 #3
0
 public INapDbConfigBuilder <TDb, TKey> Create(NapDbConfiguration <TDb, TKey> config)
 {
     return(new NapDbConfigBuilder <TDb, TKey>(config));
 }
예제 #4
0
 public NapDbConfigBuilder(NapDbConfiguration <TDb, TKey> config)
 {
     _config = config;
 }