I'll tweak the templates to add support for this in the future (since a lot of people are having issues with it) but you can change this:
return this.Columns.SingleOrDefault(x=>x.IsPK) ?? this.Columns[0];
to this:
return this.Columns.Where(x=>x.IsPK).ToArray();
(this is free-handed) and then change the return type to Column[]. The change should be pretty simple from this point of view, but then you'd need to change the templates throughout.
I know people like composite keys - and they are particularly important for many/many, but (my opinion) I don't like the design. A table (that's not many/many) should have one PK to uniquely ID a row...
I also understand that many folks can't control such a thing :). Anyway - if you'd like to help and fork/push this, I'd really appreciate it.