Tôi gặp một chút khó khăn khi nhận Entity Framework 5 Enums để ánh xạ tới cột số nguyên trong quá trình di chuyển. Đây là những gì mã trông giống như:Giá trị không chính xác khi lưu enum
[Table("UserProfile")]
public class UserProfile
{
public enum StudentStatusType
{
Student = 1,
Graduate = 2
}
[Key]
public int UserId { get; set; }
public string UserName { get; set; }
public string FullName { get; set; }
public StudentStatusType Status { get; set; }
}
Việc chuyển trông như thế này:
public partial class EnumTest : DbMigration
{
public override void Up()
{
AddColumn("UserProfile", "Status", c => c.Int(nullable: false, defaultValue:1));
}
public override void Down()
{
DropColumn("UserProfile", "Status");
}
}
Tuy nhiên khi tôi lưu các thay đổi nó không phản ánh chúng trong cơ sở dữ liệu.
var user = new UserProfile();
user.Status = UserProfile.StudentStatusType.Graduate;
user.FullName = "new";
user.UserName = "new";
users.UserProfiles.Add(user);
users.SaveChanges();
Cơ sở dữ liệu:
----------------------------------------------------
|UserId | UserName | FullName | Status |
----------------------------------------------------
|1 | new | new | 1 |
----------------------------------------------------
Bạn đang nhắm mục tiêu .NET Framework 4 theo bất kỳ cơ hội nào và không .NET Framework 4.5? – Pawel
Tôi đang nhắm mục tiêu Khuôn khổ .NET 4.5. –