实体框架6.0不会自动生成表字段的“更改”或“更改”部分方法 [英] Entity Framework 6.0 not auto-generating 'On Changing' or 'On Change' partial methods for table fields

查看:174
本文介绍了实体框架6.0不会自动生成表字段的“更改”或“更改”部分方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在从SQL Server表生成实体框架类。但是我没有看到像下面的例子的部分方法:

  partial void OnFirstNameChanging(global :: System.String value); 
partial void OnFirstNameChanged();

我正在使用VS2012& EF6.0。许多在线示例谈到了在新创建的部分类中将这些部分方法重新排除以放置验证逻辑。但是我在自动生成的代码中找不到这些方法。这是在EF6.0手动添加的东西吗?会欣赏反馈。谢谢。

解决方案

你使用错误的生成器。这些方法只能由基于 EntityObject 的生成器(不推荐使用的)生成。默认生成器使用不生成这些部分方法的POCO类 - 您可以修改生成器以添加它们(它是T4模板)。



要使用 EntityObject 生成器:




  • 删除EDMX下堆叠的当前.tt文件。

  • 打开EDMX,右键点击设计器,然后从上下文菜单中选择添加代码生成项目

  • 如果在 Visual C#项目中没有看到EF 6.x EntityObject Generator ,请选择在线并搜索此生成器。

  • 安装发电机并使用它。

  • 现在您生成的实体应该支持这些部分方法。



打开.tt文件并进行搜索对于更改已更改的单词将给您并想出在将这些方法添加到POCO生成器时需要做什么。


I am generating entity framework classes from a SQL Server table. However I am not seeing the partial methods like the example below:

partial void OnFirstNameChanging(global::System.String value);
partial void OnFirstNameChanged();

I am using VS2012 & EF6.0. Many online examples talks about over-ridding these partial methods in newly created partial classes to put validation logic. But I can't find these methods in my auto-generated code. Is this something that's manually added in EF6.0? Will appreciate feedback. Thanks.

解决方案

You are using wrong generator. Those methods are only generated by EntityObject based generator (the one which is deprecated). Default generator uses POCO classes where these partial methods are not generated - you can modify the generator to add them (it is a T4 template).

To use EntityObject generator:

  • Delete current .tt file stacked under your EDMX.
  • Open EDMX, right click in the designer and select Add code generation item from context menu.
  • If you don't see EF 6.x EntityObject Generator in Visual C# Items select Online and search for this generator.
  • Install the generator and use it.
  • Now your generated entities should support those partial methods.

Opening .tt file and searching for Changing and Changed words will give you and idea what is necessary to do in case of adding those methods to POCO generator.

这篇关于实体框架6.0不会自动生成表字段的“更改”或“更改”部分方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆