3

データベース内の UserProfile テーブルを追加の列で変更し、それらを反映するように UserProfile クラスを変更しました。

[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; }
}

明らかに、FirstName、Surname、School です。何らかの理由で、データをロードしようとすると、登録アクションがこれらの新しい列の 3 つすべてに詳細を保存しているにもかかわらず、次のようになります。

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

School は無効な ColumnName です。クラスとテーブルの両方で文字列であることを確認したので、デバッグ方法が少し混乱しました。助けてください!

4

1 に答える 1

3

(OPへのコメントから続く)

これを手動で行うのではなく、EF移行フレームワークの使用を検討する必要があります-多くの利点があり、内部EF機能が変更された場合に備えて将来にわたって利用できます。

移行の詳細については、こちらをご覧ください

于 2012-09-25T18:44:09.813 に答える