我将以下部分类作为模型:
public partial class SourceDevelopmentActivity
{
public int? ActivityID { get; set; }
public string Description { get; set; }
}
我还有以下类来配置模型:
public class SourceDevelopmentActivityMap : EntityTypeConfiguration<SourceDevelopmentActivity>
{
public SourceDevelopmentActivityMap()
{
this.ToTable("SourceDevelopmentActivity");
this.HasKey(t => t.ActivityID);
this.Property(t => t.ActivityID).HasColumnName("ActivityID");
}
}
我将配置传递到我的DBContext的OnModelCreating方法的modelBuilder配置中:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new SourceDevelopmentActivityMap());
}
当我使用scaffolding选项创建控制器和视图(CRUD)时,编辑表单具有以下设置:
<div class="editor-label">
@Html.LabelFor(model => model.ActivityID)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.ActivityID)
@Html.ValidationMessageFor(model => model.ActivityID)
</div>
如果我改变班级使用
public int? SourceDevelopmentActivityID { get; set; }
然后我没有得到EditorFor
html帮助器,而是得到HiddenFor
html帮助器(这就是我想要的):
@Html.HiddenFor(model => model.SourceDevelopmentActivityID)
我的问题是如何使用ActivityID
作为我的属性名称,但是让脚手架理解它不应该显示在编辑表单上(就像我使用SourceDevelopmentActivityID
时那样)?我认为这是一个非常直接的任务,这让我觉得我错过了一些明显的东西。
如果您需要更多信息或有任何疑问,请与我们联系。在此先感谢您的帮助!