我在visual studio 2012中使用实体框架5.
我确实有一个现有的模型。现在我想为现有模型添加一个新表。为此,我打开了edxm文件并使用右键单击我成功更新了模型。
现在,在模型的“EntityTypes”下的“Model Browser”中,我可以看到表名存在。但是在解决方案资源管理器中,它没有显示我在.tt文件下新添加的表的自动生成的.cs文件。
我试过“运行自定义工具”,但它没有生成类。也重新启动了Visual Studio但结果是一样的。
任何人都可以帮助我吗?
由于
答案 0 :(得分:29)
问题
tblEmployee
但是在添加“实体数据模型”之后,您已在EDMX文件中将实体tblEmployee
更改为Employee
,然后保存并生成。但是,在Model1.tt文件中不会自动生成更改名称的类。此问题适用于VS2012的早期版本。此问题已在VS2012的升级版本中解决。
<强>解决方案强>
我们为VS2012的早期版本提供了解决方案。 EF 5.0
按照步骤
右键单击On Model1.Context.tt并选择'运行自定义工具'保存并立即构建查看属性IN上下文类生成如
public DbSet<Employee> Employees { get; set; }
保存并构建解决方案
Model1Context context=new Model1Context();
List<Employee> empList= context.Employees.ToList();
这对我有用。 但请记住,当使用VS2012的MVRC在MVC中“使用entityframework创建控制器和视图”时,EF 6.0仍然无法制作脚手架。 您必须使用EF 5.0或使用新更新更新VS2012。
答案 1 :(得分:4)
在这种情况下,我所做的就是删除令人兴奋的模型,然后点击添加,然后在那里添加新添加的表格!
如果这是edmx文件位于文件夹中的错误,现在已修复 - 下载并安装VS 2012 Update 1.您可以从以下网址获取:
http://www.microsoft.com/visualstudio/eng/downloads#d-visual-studio-2012-update
答案 2 :(得分:4)
我自己解决了。
问题出在文件 filename .Context.tt和 filename .tt中。
两个文件中指定的变量const string inputFile
的图表文件名与现有图表文件( .edmx 文件)不同。使用现有图表文件名更新它,然后从数据库更新模型。现在工作正常。
答案 3 :(得分:1)
我已将主键添加到新表中。这样就解决了问题。