Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用数据库优先方法MVC3向模型中添加新字段不会从数据库中提取数据_C#_Asp.net Mvc_Asp.net Mvc 3_Database First - Fatal编程技术网

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

C# 使用数据库优先方法MVC3向模型中添加新字段不会从数据库中提取数据,c#,asp.net-mvc,asp.net-mvc-3,database-first,C#,Asp.net Mvc,Asp.net Mvc 3,Database First,我正在尝试使用数据库优先的方法向现有数据库(MS SQL Server)和MVC 3模型添加一个新字段。数据库和模型结构非常复杂,数据库包含大量数据,因此不能删除数据库并重建它。到目前为止,我已尝试了以下方法,但均无效: 首先将字段添加到数据库中,然后进入.edmx文件。我点击表格并选择“从数据库更新模型” 这会将字段添加到模型中,但不会从数据库中提取数据。我通过在调试期间中断并检查模型列表来检查这一点。它只是为字段提供模型中的默认值。 首先在模型中添加字段,然后将字段添加到数据库中(使用下

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

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

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

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

    • 这将创建第二个带有“_1”的模型变量,并将其映射到数据库字段
  • 代码引用 用于将字段添加到数据库表中的脚本:

    更改表存储

    添加活动位非空默认值1

    添加到中的模型的代码:

    public bool active{get;set;}

    用于填充存储列表的代码:

    var storeList=(从db.stores中的n选择n).ToList()


    如果模型字段将由数据库中的数据填充,而不是由模型默认值填充,如何使其工作?

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

    是否删除edmx文件和.tt文件?@mvc\u tyro如果删除
    .edmx
    ,它还应删除
    .tt
    文件。Visual Studio应该将它们作为项目的一部分组合在一起。不,VS不会为您删除.tt文件。必须手动删除它。@mvc_tyro我从来没有遇到过这个问题,但请继续这样做,然后重新创建模型。如果有效,请将此标记为正确答案。