错误消息:

"自数据库创建以来,支持"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相关问答推荐

将Visual Studio更新到v17.9.3后,IDE关闭,dotnet.exe命令报告致命错误.内部CLR错误.(0x80131506)

无法在Designer、VS2022、. NET 8中打开WinForms表单'

将多行参数传递给Power Shell中的DotNet Pack命令

在 Rx 中,处理线程安全是否是消费者(IObserver)的责任?

在 WP7 中将 List 转换为 ObservableCollection

C# 中的批量更新

如何使用 C# 关键字作为属性名称?

为什么需要 XmlNamespaceManager?

.NET 中工作线程和 I/O 线程的简单描述

读取方法的属性值

如何遍历字典并更改值?

如何根据默认样式创建样式?

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

如何在可取消的异步/等待中处理 TransactionScope?

使用 XmlDocument 读取 XML 属性

在 C# 中,为什么不能将 List 对象存储在 List 变量中

我应该绑定到 ICollectionView 还是 ObservableCollection

如何从文件中删除单个属性(例如只读)?

模拟和单元测试需要时如何抛出 SqlException?

Linq Query 不断抛出无法创建 System.Object 类型的常量值......,为什么?