Asp.net 来自数据库的实体框架更新模型未为tt类中新添加的表生成cs类

Asp.net 来自数据库的实体框架更新模型未为tt类中新添加的表生成cs类,asp.net,asp.net-mvc,entity-framework,asp.net-mvc-4,entity-framework-5,Asp.net,Asp.net Mvc,Entity Framework,Asp.net Mvc 4,Entity Framework 5,我正在visual studio 2012中使用实体框架5 我有一个现有的模型。现在,我想向现有模型添加一个新表。为此,我打开了edxm文件,并使用右键单击成功地更新了模型 现在,在模型的“EntityTypes”下的“模型浏览器”中,我可以看到表名存在。但是在解决方案资源管理器中,它没有显示我在.tt文件下新添加的表的自动生成的.cs文件 我尝试了“运行自定义工具”,但它没有生成类。也重新启动了Visual Studio,但结果相同 有人能帮我吗 谢谢在这种情况下,我要做的就是删除令人兴奋的模

我正在visual studio 2012中使用实体框架5

我有一个现有的模型。现在,我想向现有模型添加一个新表。为此,我打开了edxm文件,并使用右键单击成功地更新了模型

现在,在模型的“EntityTypes”下的“模型浏览器”中,我可以看到表名存在。但是在解决方案资源管理器中,它没有显示我在.tt文件下新添加的表的自动生成的.cs文件

我尝试了“运行自定义工具”,但它没有生成类。也重新启动了Visual Studio,但结果相同

有人能帮我吗


谢谢

在这种情况下,我要做的就是删除令人兴奋的模型,然后单击“添加”,然后添加新添加的表格

如果这是位于文件夹中的edmx文件的错误,现在已修复-下载并安装VS 2012 Update 1。您可以从以下网站获得:

我自己解决了

问题出在文件filename.Context.tt和filename.tt中

在这两个文件中指定的变量
const string inputFile
的图表文件名与现有图表文件(.edmx文件)不同。使用现有的关系图文件名更新它,然后从数据库更新模型。现在工作很好

问题

  • 如果数据库中有表名
    tblEmployee
    ,但在添加“实体数据模型”后,您已将EDMX文件中的实体
    tblEmployee
    更改为
    Employee
    ,然后保存并生成。但更改名称的类不会在Model1.tt文件中自动生成
  • 当“从数据库更新模型”以添加新表时,也会出现相同的问题
  • 当使用EntityFramework创建带有模型类的视图/创建带有操作的控制器时,MVC中也不可用
  • 此问题适用于早期版本的VS2012。此问题在升级版本的VS2012中得到解决

    解决方案

    我们通过早期版本的VS2012和EF 5.0提供了解决方案

    遵循步骤

  • 右键单击Model1.tt并选择“运行自定义工具”立即保存和生成,查看是否生成了类
  • 右键单击Model1.Context.tt并选择“运行自定义工具”立即保存和生成请参见上下文类中的属性

    public DbSet<Employee> Employees { get; set; } 
    
    公共数据库集雇员{get;set;}
    
  • 保存并生成解决方案

    Model1Context context=new Model1Context();
    List<Employee> empList= context.Employees.ToList();
    
    Model1Context context=newmodel1context();
    List empList=context.Employees.ToList();
    
    这对我有用。 但请记住,在使用VS2012版本的MVC中“使用entityframework创建控制器和视图”时,EF 6.0仍然无法搭建脚手架。
    您必须使用EF 5.0或使用新更新更新VS2012。

    我已将主键添加到新表中。这就解决了问题。

    有专家吗?您能解释一下吗?这是一个很好的答案。完全删除您的模型并添加新的数据模型。这样文件将再次创建文件并修复。不要只删除模型图中的表。删除模型文件和任何嵌套文件。谢谢。我之前已经解决了这个问题,但我还是接受了这个答案,因为它可能会对其他人有所帮助。这非常有帮助,谢谢。通常自动代码生成对我来说很好,但这次我将实体edmx添加到App_code文件夹下的ASP.NET网站项目中,这可能会导致在使用“从数据库更新模型”从数据库添加新表时无法生成模型中的问题。这非常有用。我已经挣扎了很长一段时间来克服这个问题。它对我起了作用。谢谢继续努力。非常感谢。我已经参与了一个星期了