使用数据库优先方法向Model添加新字段MVC3不会从数据库中提取数据

时间:2013-12-18 23:38:53

标签: c# asp.net-mvc asp.net-mvc-3 database-first

我正在尝试使用数据库优先方法向现有数据库(MS SQL Server)和MVC 3模型添加新字段。数据库和模型结构非常复杂,数据库包含大量数据,因此不能删除数据库并重建它。到目前为止,我已经尝试了以下无效:

  1. 首先将字段添加到数据库中,然后进入.edmx文件。我点击了表格并选择了“从数据库更新模型”

    • 这会将字段添加到模型中,但不会从数据库中提取数据。我通过在调试和检查模型列表期间断开来检查这一点。它只是为该字段提供模型的默认值。

  2. 首先在模型中添加字段,然后将字段添加到数据库中(使用下面的脚本)。

    • 这将创建第二个带有“_1”的模型变量,并将其映射到数据库字段。
  3. 代码参考

    将字段添加到数据库表中的脚本:

      
        

    ALTER TABLE stores
        ADD active bit NOT NULL DEFAULT 1

      

    添加的模型代码:

      
        

    public bool active { get; set; }

      

    填充商店列表的代码:

      
        

    var storeList = (from n in db.stores select n).ToList();

      

    如何使用数据库中的数据而不是模型默认值来填充模型字段?

1 个答案:

答案 0 :(得分:0)

在这种情况下,您可能需要使用向导删除并随后重新创建实体模型。