一、单表Reader

1 构建Reader类

public   class Reader
    {
       public int ReaderID { get; set; }
       public string Name { get; set; }
       public int Age { get; set; }
       public string Tel { get; set; }
    
    }

2、构建数据上下文类

//单表数据上下文

public class SingleDbContext :DbContext
    {
        public DbSet<Reader> Readers { get; set; }
        public SingleDbContext() : base("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=NewsDB;Data Source=.") { }
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {//防止自动把表名改成了复数形式
                  modelBuilder.Conventions.Remove<System.Data.Entity.ModelConfiguration.Conventions.PluralizingTableNameConvention>();
        }

}

3、在程序中测试

static void SingleTable()
        {
            ///添加
            var reader = new Reader
            {
                Name = "xp",
                Age = 18,
                Tel = "135993434"
            };
            var database = new SingleDbContext();
            database.Readers.Add(reader);
            int rows = database.SaveChanges();

//查询
            using (var context = new SingleDbContext())
            {
                var readers = from r in context.Readers where r.Name == "xp" select r;
                foreach (Reader r in readers)
                    Console.WriteLine("name:" + r.Name);
            }

}

二 主从表

Department

Course

1 构建类

public class Department
    {
        public virtual ICollection<Course> 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> Department { get; set; }
        public DbSet<Course> 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<System.Data.Entity.ModelConfiguration.Conventions.PluralizingTableNameConvention>();
        }
    }

三、测试使用

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

转载于:https://www.cnblogs.com/sjqq/p/8424403.html

EntityFramework(EF) 单表与主从表的使用相关推荐

  1. Winform界面中主从表编辑界面的快速处理

    在Winform开发中,我们往往除了常规的单表信息录入外,有时候设计到多个主从表的数据显示.编辑等界面,单表的信息一般就是控件和对象实体一一对应,然后调用API保存即可,主从表就需要另外特殊处理,本随 ...

  2. 主从表 ajax,DWZ主从表结构 · Issue #72 · OtakuFly/dwz · GitHub

    使用DWZ主从表结构,从表读取数据集显示,用于表单修�� �功能 ID所属专业工作量项目单位数量操作 查找带回 查找带回 删除 通过增加明细按钮,可以增加表格行,表格行最后的删除按�� �,可以删除新 ...

  3. java 表单设计器 开源_6款在线表单设计器_Web表单设计器_AnyReport

    AnyReport表单设计器作为报表的一个组件,可设计多样式表单,收集数据,可生成对应的物理表字段,支持在线设计表单.预览 表单,并支持一对多关系的表单结构设计,生成的表单支持输出excel文件,使用 ...

  4. DaleCloud(原NFine)介绍:使用easyui实现主从表提交(单据业务)

    目录 1.Form页面的Html代码 2.前端JS实现将DataGrid中的明细数据打包提交 3.后台接收提交数据的代码 4.Application业务中的保存方法 前言 很多使用DaleCloud( ...

  5. oracle主从关系表查询,Oracle 主从表联合查询解决方法

    Oracle 主从表联合查询 表A id   type   name 1    E      AA 2    F 表B id   Aid    name 1    2      BB 2    2   ...

  6. 数据结构和算法:(3)3.2.2单链表的整表删除

    我们不使用这个单链表时,我们需要把他在内存中释放掉,以便于流出空间给其他程序和软件使用. 单链表整表删除的算法思路如下: 声明结点p和q: 将第一个结点赋值给p,下一个结点(也就是第一个结点的下一个结 ...

  7. 数据结构和算法:(3)3.2.1单链表的整表创建

    对于顺序存储结构的线性表的整表创建,我们可以用数组的初始化来直观理解.(因为之前说过我们线性表的顺序存储结构呢事实上也就是在数组的基础上加多一个变量来存储当前线性表的长度构成的一个结构,所以我们用数组 ...

  8. java jquery提交表单_Jquery ajax提交表单几种方法

    在jquery中ajax提交表单有post与get方式,在使用get方式时我们可以直接使用ajax 序列化表单$('#表单ID').serialize();就行了,下面我来介绍两个提交表单数据的方法. ...

  9. sqlserver2008r2表复制原表_SQL Server 2008 R2 主从数据库同步

    主数据库服务器: OS:Windows Server 2008 R2    DB: SQL Server 2008 R2 Hostname : CXMasterDB IP: 192.168.1.224 ...

  10. GZFramwork数据库层《四》单据主从表增删改查

    同GZFramwork数据库层<三>普通主从表增删改查 不同之处在于:实例 修改为: 直接上效果: 项目源码下载地址:https://github.com/GarsonZhang/GZFr ...

最新文章

  1. Python 多进程开发与多线程开发
  2. 干货|《深度学习入门之Pytorch》资料下载
  3. android小程序备忘录,撸一个会话备忘录的小程序
  4. win10北通手柄没反应_《动物森友会》怎么玩出新花样?北通宙斯游戏手柄宏玩法了解下...
  5. Velocity模板引擎的简单使用
  6. (计算机组成原理)第五章中央处理器-第三节2:CPU专用数据通路
  7. Mr.J--谈谈CSS和Html(font)
  8. nyoj 122 Triangular Sums
  9. 小乌龟Git回滚重置及合并指定提交
  10. Adblock 插件规则语法实现B 站动态黑名单 - 隐藏特定用户的图文动态
  11. 步进电机、伺服电机、舵机、无刷电机、有刷电机区别
  12. 2020 年前端技术发展盘点
  13. java-遍历Json
  14. 武汉大学计算机2019转专业,武汉大学可以转专业吗,武汉大学新生转专业政策
  15. 机器学习笔记 - 探索性数据分析(EDA) 概念理解
  16. Mega2560串口通信实现
  17. Audition Au制作左右双声道以及导出
  18. 死磕Java之Java核心语法
  19. matlab中abs函数如何用,Abs函数(ABS函数怎么用)
  20. 一道经典的Python数据分析笔试题

热门文章

  1. java date 在mybatis_mybatis如何使用Java8的日期LocalDate和LocalDateTime详解
  2. mysql5.7.11源码安装_centos 7.0安装MySQL Community Server 5.7.11 源码编译安装
  3. LRC软件测试简历,C语言 LRC歌词文件解析
  4. 搭建SpringMVC详解
  5. 第一类丢失更新和第二类丢失更新是什么 区别
  6. mysql数据同步到ElasticSearch中 之 logstash
  7. 基于springboot的社团管理系统
  8. java 2分代复制垃圾回收_Java垃圾回收机制
  9. myBatis无法用log4j输出日志
  10. MongoDB 数据集合导出 与 导入