基于注解的EF

首先得你的ef dll版本在4.1以上  

第一步贴第一个类

由于字段太多就写一部分 

 [Table("NavF")]//设置表名称
    public class NavF
    {
        [ Key]//主键
        [ DatabaseGenerated(DatabaseGeneratedOption.Identity)]// 设置自增
        public int ID { get; set; }
        [Required]//要求所需字段不能为空
        [MaxLength(500)]//字段最大长度
        [Column("NTitle")]//设置映射到数据库的名称
        public string NTitle { get; set; }
        [Required]
        [Column("NOrder")]
        public int NOrder { get; set; }
        [Required]
        [MaxLength(10)]
        [Column("NType")]
        public string NType { get; set; }
        public IList<NavT> navTList = new List<NavT>();// 设置关联属性
        public virtual IList<NavT> NavTList
        {
            get { return navTList; }
            set { navTList = value; }
        }
    }

 

[Table("NavT")]

 

    public class NavT
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int ID { get; set; }
        [Required]
        [MaxLength(500)]
        [Column("NTitle")]
        public string NTitle { get; set; }
        [Required]
        [MaxLength(500)]
        [Column("Note")]
        public string Note { get; set; }
        public int NavF_ID { get; set; }//外键名称
        private NavF navF;
        [ForeignKey("NavF_ID")]//映射外键名称
        public NavF NavF
        {
            get { return navF; }
            set { navF = value; }
        }
    }

-------------------------------------------------- 

第二部就是 DBcontext类

 

    

 public class DBContextStu : DbContext

 

    {
        public DBContextStu() : base(" constr")
        {
            Database.SetInitializer(
                new DropCreateDatabaseIfModelChanges<DBContextStu>());//只要发生改变就删除数据库
            //Database.SetInitializer(
            //        new CreateDatabaseIfNotExists<DBContextStu>());  //不存在才进行创建
        }
        public DbSet<NavF> NavF { get; set; }
        public DbSet<NavT> NavT { get; set; }
  
    }

=============================================================

 第三部数据库连接字符串constr与dbcontext类中的构造函数参数一致

<add name="constr" connectionString="Data Source=.;Initial Catalog=AST;User ID=sa;Password=sa" providerName="System.Data.SqlClient" /> 

 

 

-------------------------------------------------------------------------------------------------- 

数据库操作下一节一个dal通用类封装得不是很好 

 关于这个管理属性添加数据有点麻烦  

    public DBContextStu db = new DBContextStu();

public int AddORUpdate(NavT modelT, int PID)
        {
            NavF model=db.NavF.Single(u => u.ID == PID);
            modelT.NavF = model;
            modelT.NavF_ID = PID;
            db.NavT.AddOrUpdate(modelT);
            //Console.WriteLine(db.NavT.ToList().Count);
            return db.SaveChanges();
        }

 

转载于:https://www.cnblogs.com/MyKingDragon/p/4196471.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值