我正在开发一个使用 Entity Framework 5 Code First、WebApi 和 ASPNET MVC 4 的项目。我有一个像这样的模型
public class Category
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
}
而这个配置
public class CategoryMap : EntityTypeConfiguration<Categoria>
{
public CategoryMap()
{
// Primary Key
this.HasKey(t => t.Id);
// Properties
this.Property(t => t.Id)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
this.Property(t => t.Name)
.HasMaxLength(50);
this.Property(t => t.Description)
.HasMaxLength(100);
}
}
现在,在我的 webapi 控制器中(在 POST 方法中)我正在尝试验证发送的模型,但由于它是一个 POST(创建)并且 Id 是 IDENTITY,它即将为空或为空,因此 Model.Valid 说它无效。
public HttpResponseMessage Post(Category category)
{
if (ModelState.IsValid)
{
...
return response;
}
throw new HttpResponseException(HttpStatusCode.BadRequest);
}
除了更改列的类型并且不检查模型是否有效之外,还有其他解决方案吗?
提前致谢!吉列尔莫。