枚举包装器和实体模型

发布于 2024-10-24 06:53:19 字数 342 浏览 1 评论 0原文

我正在应用模型优先方法创建一个实体模型。我希望某些实体类具有 EnumWrapper 类型的属性 (http://blogs.msdn.com/b/alexj/archive/2009/06/05/tip-23-how-to-fake- enums-in-ef-4.aspx)。我应该怎么做才能实现这个目标?添加普通 int 类型属性是正确的方法吗?生成数据库后,将通过替换适当的枚举包装器上的 int 属性来以某种方式自定义实体对象。

I am creating an Entity model applying the Model first approach. I want that some of the entity classes have properties of the EnumWrapper type (http://blogs.msdn.com/b/alexj/archive/2009/06/05/tip-23-how-to-fake-enums-in-ef-4.aspx). What should I do to achieve this? Is adding plain int-type properties will be the correct approach? And after generating a database, the entity objects will be customized somehow by replacing int properties on appropriate enum wrappers.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

盗梦空间 2024-10-31 06:53:19

不,您的实体必须包含为具体枚举包装器创建的复杂类型。每个枚举包装器将包含 int 类型的单个字段(您应该为每个包装器指定唯一的字段名称)。

本文中描述的方法仅在您手动创建 POCO 类时才有效,因为您必须直接修改枚举包装器。如果你修改 T4 模板,也许也可以使其工作。

它不能与自定义工具生成的默认实体对象代码(edmx 代码隐藏文件)一起使用,因为无法修改生成的复杂类型(每次触摸 EDMX 时它们都会被覆盖)。

No your entity must contain Complex type created for concrete enum wrapper. Each enum wrapper will contain single field of int type (you should make unique name of the field for each wrapper).

Described approach in the article works only if you create POCO classes manually because you must modify enum wrappers directly. You can also probably make it work if you modify T4 template.

It can't be used with default entity object code generated by custom tool (edmx code behind file) because there is no way to modify generated complex types (they will be overwritten each time you touch EDMX).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文