使用 C 中的实体框架(代码优先)

代码优先允许你在不使用 GUI 设计器或 .edmx 文件的情况下创建实体(类)。它首先命名为 Code ,因为你可以首先创建模型, Entity 框架将根据映射自动创建数据库。或者你也可以将此方法与现有数据库一起使用,现有数据库首先使用现有数据库调用代码。例如,如果你希望表格包含行星列表:

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 属性值为 JupiterAverageDistanceFromSun 属性值为 778.5

然后我们可以使用 DbSetAdd() 方法将此 Planet 添加到上下文中,并使用 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.");
}