使用 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
属性值为 Jupiter
,AverageDistanceFromSun
属性值为 778.5
然后我们可以使用 DbSet
的 Add()
方法将此 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.");
}