错误消息:

"自数据库创建以来,支持"AddressBook"上下文的模型已更改.请手动删除/更新数据库,或使用IDatabaseInitializer实例调用database.SetInitializer.例如,RecreateDatabaseIfModelChanges策略将自动删除并重新创建数据库,并可以 Select 使用新的d为其种子."阿塔."

我正在try 使用代码优先功能,下面是我写的:

var modelBuilder = new ModelBuilder();
var model = modelBuilder.CreateModel();
using (AddressBook context = new AddressBook(model))
{
    var contact = new Contact
    {
        ContactID = 10000,
        FirstName = "Brian",
        LastName = "Lara",
        ModifiedDate = DateTime.Now,
        AddDate = DateTime.Now,
        Title = "Mr."

    };
    context.contacts.Add(contact);
    int result = context.SaveChanges();
    Console.WriteLine("Result :- "+ result.ToString());
}

上下文类:

public class AddressBook : DbContext
{
    public AddressBook()
    { }
    public AddressBook(DbModel AddressBook)
        : base(AddressBook)
    {

    }
    public DbSet<Contact> contacts { get; set; }
    public DbSet<Address> Addresses { get; set; }
}

以及连接字符串:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <connectionStrings>
    <add name="AddressBook" providerName="System.Data.SqlClient"  
         connectionString="Data Source=MyMachine;Initial Catalog=AddressBook;
         Integrated Security=True;MultipleActiveResultSets=True;"/>
    </connectionStrings>
</configuration>

因此,数据库名为"AddressBook",当我试图将contact对象添加到上下文中时,会发生错误.我有什么遗漏吗?

推荐答案

现在是:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    Database.SetInitializer<YourDbContext>(null);
    base.OnModelCreating(modelBuilder);
}

在你的背景下.cs文件.

.net相关问答推荐

为什么在WinForm应用程序中创建组件类椭圆会在www.example.com中没有响应

实体框架核心:Azure容器应用程序的执行超时已过期

使用托管身份而不是检测密钥配置Application Insights

.Net MAUI Android 无法与 API localhost 对话

System.IO.Directory.Exists 在 LINQ 语句中失败,但在 foreach 循环中没有

防止在 .NET 上构建路径中的反斜杠以进行跨平台部署

使属性只能通过绑定的 Editor(component) 编辑

将 Moq 模拟对象传递给构造函数

如何在 C# 4.0 中使任务进入睡眠状态(或延迟)?

数据库架构更改后更新 LINQ to SQL 类的最佳方法

我应该在 LINQ 查询中使用两个where子句还是&&?

如何从 XDocument 获取 Xml 作为字符串?

String.Replace() 与 StringBuilder.Replace()

仅使用 XAML 绘制纯色三角形

场与财产.性能优化

绑定到不在列表中的值的可编辑组合框

Microsoft.Bcl.Build NuGet 包有什么作用?

如何将整个字符串与正则表达式匹配?

当它被抛出和捕获时,不要在那个异常处停止调试器

App.config:用户与应用程序范围