我在visual studio 2012中使用实体框架5.
我确实有一个现有的模型.现在我想为现有模型添加一个新表.为此,我打开了edxm文件并使用右键单击我成功更新了模型.
现在,在模型的“EntityTypes”下的“Model Browser”中,我可以看到表名存在.但是在解决方案资源管理器中,它没有显示我在.tt文件下新添加的表的自动生成的.cs文件.
我试过“运行自定义工具”,但它没有生成类.也重新启动了Visual Studio但结果是一样的.
谁能帮我?
谢谢
解决方法
问题
>如果您在数据库中有表名tblEmployee但是在添加“实体数据模型”之后,您已在EDMX文件中将实体tblEmployee更改为Employee,然后保存并生成.但是,在Model1.tt文件中不会自动生成更改名称的类.
>当“从数据库更新模型”添加新表时出现相同的问题.
>在MVC中也不可用使用EntityFramework使用模型类创建视图/使用操作创建控制器
这个问题适用于VS2012的早期版本.这个问题在VS2012的升级版本中得到了解决.
解
我们为VS2012的早期版本提供了解决方案. EF 5.0
按照步骤
>右键单击Model1.tt并选择“运行自定义工具”保存并立即生成,然后生成类.
>右键单击On Model1.Context.tt并选择’运行自定义工具’保存并立即构建查看属性IN生成的类类似于
public DbSet<Employee> Employees { get; set; }
保存和构建解决方案
Model1Context context=new Model1Context(); List<Employee> empList= context.Employees.ToList();
这对我有用.但请记住,当使用VS2012的这个版本在MVC中“使用entityframework创建控制器和视图”时,EF 6.0仍然无法制作脚手架.您必须使用EF 5.0或使用新更新更新VS2012.