【问题标题】:Updating an MVC application Model along with data-source更新 MVC 应用程序模型以及数据源
【发布时间】:2010-02-04 02:28:23
【问题描述】:

首先,Asp.Net MVC 和 ADO.NET 实体数据模型的新手。

在练习示例时,我创建了一个表格,但忘记为 PK"Identity specification" 设置为 true。

使用实体数据模型为 MVC 应用程序创建了一个模型并且工作正常。

稍后我已将数据库中该表的 "身份规范" 设置为 true。

当我尝试插入记录时,会引发异常并且记录不会被插入。

{"无法插入显式值 表“联系人”中的标识列 当 IDENTITY_INSERT 设置为 OFF 时。"}

这是模型中 digner 创建的类,它应该根据 DB 中的架构更改而更改

public static Contact CreateContact(int id, string firstName, string lastName, string phone, string email)
        {
            Contact contact = new Contact();
            contact.Id = id;
            //
            return contact;
        }

上述方法签名中不需要“Id”变量,但它仍然会自动生成。

我们怎样才能让我们的模型自行刷新或手动刷新, 如果数据库架构已更新。

注意:使用 C#、ASP.NET MVC

谢谢

【问题讨论】:

    标签: c# asp.net-mvc entity-framework ado.net-entity-data-model


    【解决方案1】:

    正确配置您的数据库架构,然后右键单击您的模型并选择“从数据库更新模型”。这将更正 EDMX 中的 SSDL,它会告诉 EF id 是存储生成的。

    但是,它不会从 CreateContact 方法中删除 id 参数。 EF 的代码生成器将所有不可为空的属性放入此方法的签名中。但是一旦你更新了 SSDL,你应该不会再在保存时出现异常;如果你想使用这个方法(你不必),你可以传递一个 0。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-31
      • 2012-06-23
      • 1970-01-01
      • 1970-01-01
      • 2020-10-23
      • 1970-01-01
      • 2019-05-27
      • 1970-01-01
      相关资源
      最近更新 更多