If the user defined a mapping as follows:
HasMany(x => x.Children)
.KeyColumns.Add("one") .Unique() .KeyColumns.Add("two");
Then the behaviour is to have two column mappings created, each with the unique set to true. This is somewhat counter-intuitive. It would be better to handle multiple columns with something like
.KeyColumns.Add("name", c => { optional column mapping });