Models:
public class Status
{
public int Id { get; set; }
}
public class Podcast
{
public int Id { get; set; }
public virtual Status Status { get; set; }
}
The Podcast table has the StatusId column, and this column is a foreign key. In this case I’ve got the following error message: Invalid column name 'Status_Id'. Why? – Many times I faced that articles with such examples. This is the first question.
Ok, no problem – i’ve added an underscore character to these columns: Sttaus_Id and so on.
Now it seems that everything works fine, but when I modify my model by the following way:
public class Podcast
{
public int Id { get; set; }
public int Status_Id { get; set; }
public virtual Status Status { get; set; }
}
Now I get the following error: Invalid column name 'Status_Id1'.
Why? I can’t use the DropDownListFor helper without these xx_id properies.
I believe the issue here is that you have created your DB first and created a column named StatusId for your FK reference but you haven’t told EF that you are using a non-default column name for your FK.
the following will give you the structure you are after (ps i agree with your naming convention i personally dislike the _ in fk ids)