创建MVC + EF 项目

Models创建实体类GoodsInfo物品信息

//物品信息
    public class GoodsInfo
    {
       

        [Key]
        [Display(Name="id")]
        public int id { get; set; }

        [Required]
        [DataType(DataType.Text)]
     [StringLength(5, ErrorMessage = "{0} 必须至少包含 {2} 个字符,最多包涵 {1} 个字符。",          MinimumLength = 2)]           
        [Display(Name = "物品名称")]
        public string name { get; set; }

        [Required]
        [Display(Name = "物品类型")]
        public goodsTypes goodsType { get; set; }

        [Required]
        [RegularExpression(@"^[0-9]*$")]
        [Display(Name = "价格")]
        public decimal money { get; set; }

        [Required]
        [Display(Name = "产地")]
        [DataType(DataType.Text)]
        [StringLength(50,ErrorMessage="{0} 地名过长")]
        public string address { get; set; }

        [Required]
        [Display(Name = "剩余数量")]
        public long surplusNumber { get; set; }
    }

    /*
     * 物品类型
     * 生活、工作、医疗、军事
     */
    public enum goodsTypes{
        ShengHuo,
        GongZuo,
        YiLiao,
        JunShi
    }

这个枚举类型不知道怎么进行model验证,正在查

创建数据库上下文类,实现DbContext

扫描二维码关注公众号,回复: 1452223 查看本文章

创建一个类,继承DbContext

    public class SelfDbContext : DbContext
    {
        public SelfDbContext(string conntion) : base("MyDbConnection") { }
        

        public DbSet<GoodsInfo> GoodsInfos { get; set; }
    }

可以学成无参构造方法,默认创建名字为MyDbConnection的数据库连接对象

数据验证,验证通过保存数据到数据库中,ef根据实体类创建表

      // POST: /AddMapData/    
        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Index(GoodsInfo goods)
        {
            if (ModelState.IsValid)
            {
                using (var db = new SelfDbContext("MyDbConnection")) {

                    db.GoodsInfos.Add(goods);

                    db.SaveChanges();
                } 

            }
            return View();
        }

 end

猜你喜欢

转载自my.oschina.net/u/3141521/blog/1823882