Its cool i worked it out, i had an autogenerated ID as the primary key in the join table and i just read that .netTiers requires (identifies?) the M2M relationship by requiring a table that uses the two foreign keys as the tables primary key. So i changed the table to work like that and its generating the M2M SPs now. cheers