枚举包装器和实体模型

时间:2011-03-18 12:46:20

标签: .net entity-framework entity-framework-4 enums poco

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

1 个答案:

答案 0 :(得分:0)

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

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

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