无法使用 Entity Framework Code First 方法生成数据库 table
Unable to generate database table using Entity Framework Code First approach
写了下面的简单代码来学习Entity FrameworkCode First的方法。但是,我无法让它工作。
也没有收到任何错误。验证生成的.mdf文件时,没有找到记录。
即使在调试代码时也无法识别问题。谁能告诉我哪里做错了!
下面是我的代码。
下面是人物class
namespace EFCF
{
public class Person
{
public int PersonId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
}
上下文如下class
namespace EFCF
{
public class Context : DbContext
{
public DbSet<Person> Persons { get; set; }
}
}
下面是在控制台应用程序中编写的测试程序。
namespace TestEFCF
{
class Program
{
static void Main(string[] args)
{
//Insert person record
using (var context = new Context())
{
context.Database.CreateIfNotExists();
Person person = new Person
{
PersonId = 1001,
FirstName = "Ashok",
LastName = "Kumar"
};
context.Persons.Add(person);
}
//Get person record
using (Context context = new Context())
{
var people = context.Persons;
foreach (var person in people)
{
Console.WriteLine(person.PersonId + "\t" + person.FirstName + "\t" + person.LastName);
}
}
Console.Write("Press any key to continue...");
Console.ReadKey();
}
}
}
您必须先从 Visual Studio 中的程序包管理器控制台执行 运行 Add-Migration <YourMigrationName>
命令(相当于在数据库优先方法中生成迁移脚本)。然后 运行 Update-Database
命令(相当于 运行 在数据库优先方法中使用迁移脚本)来应用迁移。
您可以参考this页面了解详细信息。
注意:从C#代码中删除不必要的代码以生成数据库。
我之前的代码中的小错误。
无需为此特定情况启用迁移。只需在正确的位置添加 context.SaveChanges()
命令,如下所示。
完整代码如下
//Insert person record
using (var context = new Context())
{
context.Database.CreateIfNotExists();
Person person = new Person
{
FirstName = "Ashok",
LastName = "Kumar"
};
context.Persons.Add(person);
context.SaveChanges();
}
写了下面的简单代码来学习Entity FrameworkCode First的方法。但是,我无法让它工作。
也没有收到任何错误。验证生成的.mdf文件时,没有找到记录。
即使在调试代码时也无法识别问题。谁能告诉我哪里做错了!
下面是我的代码。
下面是人物class
namespace EFCF
{
public class Person
{
public int PersonId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
}
上下文如下class
namespace EFCF
{
public class Context : DbContext
{
public DbSet<Person> Persons { get; set; }
}
}
下面是在控制台应用程序中编写的测试程序。
namespace TestEFCF
{
class Program
{
static void Main(string[] args)
{
//Insert person record
using (var context = new Context())
{
context.Database.CreateIfNotExists();
Person person = new Person
{
PersonId = 1001,
FirstName = "Ashok",
LastName = "Kumar"
};
context.Persons.Add(person);
}
//Get person record
using (Context context = new Context())
{
var people = context.Persons;
foreach (var person in people)
{
Console.WriteLine(person.PersonId + "\t" + person.FirstName + "\t" + person.LastName);
}
}
Console.Write("Press any key to continue...");
Console.ReadKey();
}
}
}
您必须先从 Visual Studio 中的程序包管理器控制台执行 运行 Add-Migration <YourMigrationName>
命令(相当于在数据库优先方法中生成迁移脚本)。然后 运行 Update-Database
命令(相当于 运行 在数据库优先方法中使用迁移脚本)来应用迁移。
您可以参考this页面了解详细信息。
注意:从C#代码中删除不必要的代码以生成数据库。
我之前的代码中的小错误。
无需为此特定情况启用迁移。只需在正确的位置添加 context.SaveChanges()
命令,如下所示。
完整代码如下
//Insert person record
using (var context = new Context())
{
context.Database.CreateIfNotExists();
Person person = new Person
{
FirstName = "Ashok",
LastName = "Kumar"
};
context.Persons.Add(person);
context.SaveChanges();
}