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} } };
 }