I know that this was a long time ago, but it still appears in search engines, so here's the deal.
Error 3002 indicates that the model and the actual database do not match the primary key for the table. For example, a database may contain only one identifier field as a primary key, but in a model it has two or more columns marked as part of the primary key. When I had this error, the model marked all non-zero fields of the foreign key as part of the primary key, which was incorrect.
To fix the error, go to the model, find the table, select each field that is mistakenly marked as part of the primary key, and change the "Property of the object" property to false. Recompile and the error should go away.
It worked for me.
source share