非身份主键验证

时间:2013-02-25 14:09:43

标签: c# asp.net-mvc entity-framework

我有一个使用Entity Framework和Code First方法的基本MVC应用程序。 它包含产品型号:

public class Product
{
      [Key]
      [Column("prodCode")]
      [DatabaseGenerated(DatabaseGeneratedOption.None)]
      [Required(ErrorMessage = "A Product Code is required.")]
      public string ProductCode { get; set; }

      [Column("prodName")]
      [Required(ErrorMessage = "A Name is required.")]
      public string Name { get; set; }
}

ProductCode是非身份主键。

在插入或修改产品时,我应该在哪里放置逻辑来验证密钥是否已经存在。如何将验证消息发送回View?

1 个答案:

答案 0 :(得分:2)

因为我可以看到你正在使用MVC(基于标签在那里)我会告诉你在你的业务逻辑中进行验证(由你的控制器调用一个返回bool的方法),因为你'在这种情况下,我需要一个数据库连接来进行实际检查。

将验证消息发送回View很简单:如果方法中的验证失败,则将其返回false给控制器,然后让控制器向您的ViewData集合添加内容并向您的行添加一行查看以在ViewData包含该特定密钥时显示此值。