internal CacheAutoStorage() { SqlBuilder <T> builder = ExtraCrud.Builder <T>(); if (builder.Info.KeyColumns.Count == 1) { ObjectFromKey = builder.ObjectFromKey; } Cache = new Dictionary <T, R>(builder.EqualityComparer); }
internal DbCacheTable(string connectionString) { ConnectionString = connectionString; Builder = ExtraCrud.Builder <T>(); if (Builder.Info.KeyColumns.Count == 0) { throw new InvalidOperationException(typeof(T).FullName + " is not usable without a valid key."); } DAO = new DataAccessObject <T>(connectionString); AAO = new AutoAccessObject <T>(connectionString); Access = AAO; AutoCache = new CacheAutoStorage <T, R>(); Items = AutoCache; CreateFromKey = Builder.ObjectFromKey; AutoKeyColumn = Builder.Info.AutoKeyColumn; AutoSyncInsert = Builder.Queries.InsertAutoSync != null; AutoSyncUpdate = Builder.Queries.UpdateAutoSync != null; }
static Inserts() { _ = ExtraCrud.Builder <Employee>(); }