EntityFramework(EF) 单表与主从表的使用


一、单表Reader

Course

EntityFramework(EF) 单表与主从表的使用

1 构建类

public class Department
    {
        public virtual ICollection Course { get; set; }
        public int DepartmentID { get; set; }        
        public string Name { get; set; }
        public string Tel { get; set; }
    }


 public class Course
    {
       // Primary key
      public int CourseID { get; set; }
      public string Title { get; set; }
      public int Credits { get; set; }
    // Foreign key
     public int DepartmentID { get; set; }
        // Navigationproperties
     public virtual Department Department { get; set;}
   }

二构建数据上下文

 public class MasterSlaveDbContext: DbContext
    {
        public DbSet Department { get; set; }
        public DbSet Course { get; set; }
        public MasterSlaveDbContext() : base(“Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=NewsDB;Data Source=.”) { }
        
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {//防止自动把表名改成了复数形式
            modelBuilder.Conventions.Remove();
        }
    }


三、测试使用

static  void MasterSlaveTable()
        {
            ///添加
            var department = new Department
            {
                Name = “计算机科学学院”,
                Tel = “83031222”
            };
            var database = new MasterSlaveDbContext();
            database.Department.Add(department);
            int rows = database.SaveChanges();
           
            var course = new Course
            {
                Title = “高数”,
                Credits = 4,
                DepartmentID= department.DepartmentID//自动获取递增主键
            };
            database.Course.Add(course);
            database.SaveChanges();

            //查询
            using (var context = new MasterSlaveDbContext())
            {

                var dp = from d in context.Department.Include(“Course”) where d.DepartmentID  == 8 select d;
                foreach (Department d in dp)
                {
                    foreach (Course  c in d.Course)
                    {
                        Console.WriteLine(“name:” + c.Title);
                    }
                }
            }

        }


源代码:http://download.csdn.net/detail/metal1/9855473

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年4月26日
下一篇 2017年4月27日

相关推荐