internal PartitionedViewAdapter(PartitionedViewConfiguration <T> config, MemberTableFactory <T> memberTableFactory, DatabaseAdapter adapter) : base(config.ConnectionName) { Config = config; Adapter = adapter; MemberTableFactory = memberTableFactory; memberTables = GetDataRangeKeys().Select(MemberTableFactory.Create).ToList(); }
public void AddPartitionFor(T o) { var dataRangeKey = GetDataRangeKey(o); if (!memberTables.Any(mt => mt.DataRangeKey == dataRangeKey)) { var memberTable = MemberTableFactory.Create(dataRangeKey); memberTable.DbContext.Database.Initialize(true); AddCheckConstraint(o, dataRangeKey); memberTables.Add(memberTable); CreateView(); } }