user1166905
user1166905

Reputation: 2622

Invalid Column Name with EF

I modified the table UserProfile in the database with some extra columns and then modified the UserProfile class to reflect them:

[Table("UserProfile")]
public class UserProfile
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int UserId { get; set; }
    public string UserName { get; set; }
    public string Firstname { get; set; }
    public string Surname { get; set; }
    public string School { get; set; }
}

Obviously they are FirstName, Surname and School. For some reason though despite the register action saving details into all 3 of these new columns when I try to load the data via:

var context = new UsersContext();
var user = context.UserProfiles.First(n => n.UserName == model.UserName);

It says that School is an invalid ColumnName. I checked it was a string in both class and table so bit confused how to debug, help!

Upvotes: 3

Views: 1298

Answers (1)

Basic
Basic

Reputation: 26756

(Continued from comments on OP)

Rather than doing this manually, you should consider using the EF migrations framework - There are a number of benefits and it's more future-proof in case internal EF functionality changes.

See here for more information on migrations

Upvotes: 3

Related Questions