我有一个类,看起来像这样:使用实体框架枚举
[Table("Coupons")]
public class Coupon
{
[Column("VET_ID")]
public string VetId { get; set; }
[Key]
public int CouponId { get; set; }
public string Name { get; set; }
public string ImageName { get; set; }
public string Text { get; set; }
[Column("ImageAlignment")]
public ImgAlignment Alignment { get; set; }
public enum ImgAlignment { TopLeft = 0, TopRight = 1, BottomLeft = 2, BottomRight = 3 };
/* public ImgAlignment Alignment
{
get { return (ImgAlignment) ImageAlignment; }
set
{ ImageAlignment = (int) value; }
}
*/
public string Html { get; set; }
}
注释掉位,我想使用的映射到DB一个int一个枚举的财产,不期待它自动工作。问题是,这个代码:
Coupon newCoupon = new Coupon
{
Text = coupon,
Name = couponName,
VetId = data.VetId,
ImageName = string.Empty,
Alignment = Coupon.ImgAlignment.TopRight,
Html = string.Empty
};
db.Coupons.Add(newCoupon);
db.SaveChanges();
总是抛出一个异常,'ImageAlignment'列不能为空。但是我传入的对象具有该属性的值,我正在设置它,Alignment属性应该映射到该列,对吗?
OK,那将是有意义的我,除了我将其映射到其中有一个值int列,然后映射,要枚举的代码,并仍然没有工作。那么,有什么特别的我需要做的映射到一个int列? – cgraus