从C#使用实体框架(代码优先)

示例

代码首先使您无需使用GUI设计器或.edmx文件即可创建实体(类)。它被命名为第一准则,因为你可以创建你的模型首次实体框架将根据自动映射为您创建数据库。或者,您也可以在现有数据库中使用这种方法,在现有数据库中首先将其称为代码  。例如,如果您想要一个表来保存行星列表:

public class Planet
{
    public string Name { get; set; }
    public decimal AverageDistanceFromSun { get; set; }
}

现在创建上下文,它是实体类和数据库之间的桥梁。给它一个或多个DbSet<>属性:

using System.Data.Entity;

public class PlanetContext : DbContext
{
    public DbSet<Planet> Planets { get; set; }
}

我们可以通过执行以下操作来使用它:

using(var context = new PlanetContext())
{
    var jupiter = new Planet 
    {
        Name = "Jupiter", 
        AverageDistanceFromSun = 778.5
    };

    context.Planets.Add(jupiter);
    context.SaveChanges();
}

在这个例子中,我们创建一个新的Planet与Name属性与价值"Jupiter"以及AverageDistanceFromSun与价值属性778.5

然后,我们可以Planet使用DbSet的Add()方法将其添加到上下文中,并使用方法将更改提交到数据库SaveChanges()。

或者我们可以从数据库中检索行:

using(var context = new PlanetContext())
{
    var jupiter = context.Planets.Single(p =>p.Name== "Jupiter");
    Console.WriteLine($"Jupiter is {jupiter.AverageDistanceFromSun} million km from the sun.");
}