private UpdatePart GetInsertForPrimitiveListTable(PrimitiveListTable primitiveListTable, IEnumerable<PropertyMapping> propGroup) { var insertBuilder = new InsertSqlBuilder(primitiveListTable); var updatePart = new PrimitiveInsertListPart(); foreach (var prop in primitiveListTable.Columns) { var paramerter = new Parameter() { Name = insertBuilder.AddInsert(prop.ColumnName), Property = prop }; updatePart.Parameters.Add(paramerter); } updatePart.SqlString = insertBuilder.GetSql(); updatePart.PropertyName = propGroup.First(z => z.DeclaredType != null).Name; return updatePart; }
private UpdatePart GetDeleteForPrimitiveListTabe(PrimitiveListTable primitiveListTable, IGrouping<Table, PropertyMapping> propGroup) { var mainTableContext = GetTableContext(primitiveListTable, "M"); var builder = new DeleteSqlBuilder(mainTableContext); var nextParameter = builder.GetNextParameter(); var equalPredicate = builder.GetEquality(mainTableContext, primitiveListTable.Columns.First().ColumnName, nextParameter); builder.Where(equalPredicate); return new UpdatePart { SqlString = builder.GetSql(), Parameters = { new Parameter { Name = nextParameter, Property = propGroup.First(z => z.DeclaredType != null).DeclaredType.Tables.OfType<EntityTable>().First().IdentityColumn} } }; }