EntityFramework(EF) 单表与主从表的使用
来源:互联网 发布:帝国cms设置播放器 编辑:程序博客网 时间:2024/05/21 15:48
一、单表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 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
- EntityFramework(EF) 单表与主从表的使用
- EF(EntityFramework) 的 CodeFirst 使用指南二(基本使用)
- EntityFramework与Ado.net的对比——EF优势何在?
- 在C#中使用EF(EntityFramework)插入数据到DB的异常
- 在C#中使用EntityFramework(EF)生成实体进行存储过程的调用
- 在C#中使用EntityFramework(EF)生成实体进行存储过程的调用
- EF(EntityFramework)使用Code First连接MySQL数据库详解
- EF(EntityFramework)使用Code First连接Oracle数据库详解
- 【C#】32. 使用EF(EntityFramework)连接Mysql,MVC开发
- EntityFrameWork 新功能的使用
- EF(EntityFramework) 的 CodeFirst 使用指南一(创建)
- EntityFramework 5.0 安装与使用
- EntityFramework中添加表时的关系
- 基于 EntityFramework 的数据库主从读写分离服务插件
- 在ASP.NET中使用SQL Server作为数据库,DB First方式使用EF(EntityFramework)进行开发和部署时的connectionString
- 安装EntityFramework,提示“找不到与EntityFramework 6.1.3兼容的EntityFramework.zh-Hans版本。"的解决方法。
- 使用Linq、ef查询全表的语句
- 将“EntityFramework 5.0.0”更新到“EntityFramework 6.1.3”失败。找不到与“EntityFramework 6.1.3”兼容的“EntityFramework.
- 最长公共子序列(LCS)
- 微信小程序:如何创建一个小程序页面?
- avl tree的插入删除操作代码
- ARIMA时间序列分析
- [codevs]: 切水果(线段树)
- EntityFramework(EF) 单表与主从表的使用
- Unity 生成随机房间、洞穴(2D、3D地图)总结
- 机房重构--优化时的小知识
- iOS开发笔记之六十四——基于UIView模块化组件方案
- Max Factor
- 关于Eumeration+SequenceInputSteam问题
- form表单提交时用JavaScript跳转,action怎么带参数
- 图解 HTTP:Web开发相关的一些核心基础概念
- AVL树的实现与图解