【发布时间】:2012-03-28 11:24:05
【问题描述】:
下面是我的课
public class Item
{
public int ItemID { get; set; }
[Required(ErrorMessage = "Unit of measure1 is required.")]
public int Uom1Id { get; set; }
public UnitOfMeasure Uom1 { get; set; }
[Required(ErrorMessage = "Unit of measure2 is required.")]
public int Uom2Id { get; set; }
public UnitOfMeasure Uom2{ get; set; }
}
public class UnitOfMeasure
{
public int UnitOfMeasureID { get; set; }
public string MeasureName { get; set; }
}
下面是我的初始化器:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
modelBuilder.Entity<Item>().HasRequired(x => x.StockUnitOfMeasure)
.WithMany()
.HasForeignKey(x => x.StockUnitOfMeasureId).WillCascadeOnDelete(false);
modelBuilder.Entity<Item>().HasRequired(x => x.PurchaseUnitOfMeasure)
.WithMany()
.HasForeignKey(x => x.PurchaseUnitOfMeasureId).WillCascadeOnDelete(false);
}
创建代码:
<div class="editor-label">
@Html.LabelFor(model => model.Uom1Id, "Stock Unit Of Measure")
</div>
<div class="editor-field">
@Html.DropDownList("Uom1Id", String.Empty)
@Html.ValidationMessageFor(model => model.Uom1Id )
</div>
我是 EF 新手,我不知道为什么属性 [Required] 不适用于字段 Uom1Id 和 Uom2Id,但它适用于我其他类中的其他字段。
具有键“Uom1Id”的 ViewData 项是 输入“System.Int32”,但必须是类型 'IEnumerable'。
谢谢
【问题讨论】:
标签: entity-framework attributes code-first required