I've a table named EducationTypes
and an Entity named EducationType
, I renamed one of entity properties, now I'm frequently getting Either the parameter @objname is ambiguous or the claimed @objtype (COLUMN) is wrong
. How can I solve this issue?
The generated SQL Script:
EXECUTE sp_rename @objname = N'dbo.EducationTypes.nvarchar', @newname = N'EducationTypeTitle', @objtype = N'COLUMN'
If you're using Code First and have (an) existing Migration script(s) and are trying to overwrite a change (i.e. renaming a column) that has since been deleted, then you'll get that error output. Simplest way is to delete the migration script, Add-Migration via NuGet, and then update the database.
This is because of name Conflict of Class (Model) names with other reserved or generated ones, when auto creates the tables and ... .
Considering that EF Code First creates the intervene tables to relate 2 or more tables using name of tables for derived intervene table, so when you use a class name that employs a name like the intervene tables, we'll get such this ambiguous error.
For example if you have a Question class which has an Answer navigation property the internal model metadata will contain a reference called QUESTION_ANSWER
To solve this, try to change the class names (used for generating tables) and ensure their uniqueness.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With