private IEnumerable <DbColumnMapping <IDbProvider> > GetColumns(DbTableMapping <TDbProvider> mapping) { return(mapping.GetColumns() .Where(column => this.InsertMode != InsertMode.Insert || column.PrimaryKeyAttribute == null || !column.PrimaryKeyAttribute.IsAutoIncrement) .ToArray()); }
private static DbTableMapping <TDbProvider> BuildMapping <T>() where T : new() { var attr = typeof(T).GetTypeInfo().GetCustomAttribute <DbTableAttribute>(); if (attr == null) { throw new ArgumentException(String.Format("type {0} must contain SQLiteTableAttribute", typeof(T).Name)); } var mapping = new DbTableMapping <TDbProvider, T>(attr); mapping.MapColumns(); return(mapping); }