一、單表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
