EFCodeFirst快速搭建入门

EFCodeFirst快速搭建入门

1.新建Model类库项目。

添加EntityFramework.dll的引用。

编写实体类Course,Student。

namespace EFCodeFirst.Model
{
    public class Course
    {
        [Key]
        public int Id { get; set; }

        [Required]
        [StringLength(50)]
        public string Name { get; set; }
    }
}
namespace EFCodeFirst.Model
{
    public class Student
    {
        [Key]
        public int Id { get; set; }
        [Required]
        [StringLength(20)]
        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();
        }
    }
}

生成数据库的结构如图。

原文地址:https://www.cnblogs.com/sunniest/p/4458125.html