gpt4 book ai didi

c# - Entity Framework code first - 不是为了创建表吗?

转载 作者:太空宇宙 更新时间:2023-11-03 15:21:16 24 4
gpt4 key购买 nike

在对 Entity Framework (针对 DNX 4.5.1)进行大量研究之后,我一直得出相同的结论,即在使用代码优先方法时,EF 应该创建任何不存在的表。

数据库上下文:

public class AccountReadContext : DbContext
{
public AccountReadContext(DbContextOptions options)
: base(options)
{}

public DbSet<AccountRead> AccountReads { get; set; }
}

数据库提供者:

public void AddAccountRead(AccountRead reads)
{
_dbContext.AccountReads.Add(reads);
_dbContext.SaveChanges(); //System.Data.SqlClient.SqlException (0x80131904): Invalid object name 'AccountRead'
}

我知道为什么会发生这种情况(表格丢失)。我想不通的是如何让代码优先来完成它的工作并创建表?

最佳答案

您必须在项目中启用代码优先迁移。在 PowerShell 窗口(程序包管理控制台)中,您发出命令:

Enable-Migrations

然后,每次更新 POCO 对象、添加新表等时,您都需要输入:

Add-Migration

这里有一些关于此的文档: https://msdn.microsoft.com/en-us/data/jj591621.aspx

关于c# - Entity Framework code first - 不是为了创建表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37297226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com