EFCodeFirst快速搭建入门
1.新建Model类库项目。
添加EntityFramework.dll的引用。
编写实体类Course,Student。
namespace EFCodeFirst.Model
{
public class Course
{
[Key]
public int Id { get; set; } [Required]
[StringLength()]
public string Name { get; set; }
}
}
namespace EFCodeFirst.Model
{
public class Student
{
[Key]
public int Id { get; set; }
[Required]
[StringLength()]
public string Name { get; set; } public Course Course { get; set; }
}
}
ps:Key是主键。
2.编写EF上下文StudentInfoEntities类。
namespace EFCodeFirst.Model
{
public class StudentInfoEntities:DbContext
{
public DbSet<Course> Course { get; set; }
public DbSet<Student> Student { get; set; }
}
}
3.新建控制台项目
在配置文件中加入上下文的连接字符串的信息。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="StudentInfoEntities" connectionString="Data Source=.\;Initial Catalog=StudentInfo;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
4.在主程序代码中调用
调用方式和EFModelFirst一致,详细参见 http://www.cnblogs.com/sunniest/p/4138291.html,第一次运行时EF会自动生成数据库(包括外键等信息)。
namespace EFCodeFirst
{
class Program
{
static StudentInfoEntities db = new StudentInfoEntities();
static void Main(string[] args)
{
Course co = db.Course.Where(u=>u.Name=="语文").FirstOrDefault();
db.Student.Add(new Student() { Name = "jayjay", Course = co });
db.SaveChanges();
Console.ReadKey();
}
}
}
生成数据库的结构如图。