zoukankan      html  css  js  c++  java
  • 基于注解的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();
            }
  • 相关阅读:
    大数据学习笔记之一:大数据初识
    从漏洞中总结编程规范(转发)+自我补充
    软件性能测试的基本概念和计算公式(转发)
    系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式(转发)
    Linux学习记录(三):time 相关
    Linux报错第一弹: /bin/sh^M: bad interpreter: No such file or directory
    Linux学习记录(二)----if
    SVN 提交出错1
    java.lang.NoClassDefFoundError
    git 将文件取消版本控制
  • 原文地址:https://www.cnblogs.com/MyKingDragon/p/4196471.html
Copyright © 2011-2022 走看看