我在类IMage中加入了几个枚举。我首先使用代码并尝试播种Images表。不幸的是,无论使用什么枚举值,我都会在表中填充值为0.我正在使用.net 4.5并使用ef 6.Below是我的代码示例。
public class Image: Entity
{
public string Name { get; set; }
public string Url { get; set; }
[Required]
public ImageSize Size { get; set; }
[Required]
public ImageType Type { get; set; }
}
public enum ImageSize
{
Large = 1,
Medium,
Small,
Icon
}
public enum ImageType
{
Profile = 1,
Inventory,
Calendar
}
种子方法:
//New Inventory Item
context.InvItems.AddOrUpdate(
b => b.Name,
new InvItem
{
Id = 1,
Name = "Custom Bracelet",
Description = "Beautiful Steel Casing",
InventoryImages = new List<Image>{
new Image{
Name = "bracelet_1.jpg",
Url = "",
Type = ImageType.Calendar,
Size = ImageSize.Medium,
CreateDate = DateTime.Now,
ModifiedDate = DateTime.Now
}
},
Price = 20.00,
CreateDate = DateTime.Now,
ModifiedDate = DateTime.Now
}
);
DB结果:
Id Name Url Size Type
1 bracelet_1.jpg 0 0
正如您所看到的,size的枚举值应为2,type的枚举值应为3。 任何帮助都会非常感激,因为我很擅长将enums纳入我的ef开发工作中。
提前致谢,
答案 0 :(得分:0)
谢谢大家的快速回复。实际上,枚举没有问题。出于某种原因,ef决定更新我的。\ sqlserverexpress实例上的数据库,而不是我的localdb实例。在阅读了update-database -verbose消息之后,我注意到它已经决定在我身上切换sqlserver实例,所以这些更改没有被枚举赋值反映出来,如上所示。
现在除了必须检查不同的实例外,一切都运行得非常好。
Id Name Url Size Type
1 bracelet_1.jpg 2 3
我现在正在研究如何显式设置sqlserver实例将写入的内容。再次感谢您的建议,我确信一切都会有效!!
由于