使用枚举与Code First和Entity Framework 5

9

我只是想确认一个印象:在EF5 + Code First中,似乎只有当枚举在使用它们作为属性类型的类所在的相同命名空间中声明时才支持。

有人可以证实吗?在网络上找不到相关信息...


EF5和Code First应该可以正常工作。如果不能,请告诉我。完全透明 - 在这个领域中有一个错误,但它与在单独的程序集中定义的枚举有关 - http://entityframework.codeplex.com/workitem/532 - Pawel
2个回答

1
早期修复的相关错误。4.3 Beta 1 发布说明称:

修复了 GetDatabaseValues 的错误。在之前的版本中,如果您的实体类和上下文位于不同的命名空间中,则此方法将失败。现在已解决此问题,并且无需将类放在相同的命名空间中即可使用 GetDatabaseValues。

我的猜测是,在这种情况下,GetDatabaseValues 函数仍然存在缺陷(但这只是一个有根据的猜测)。您可能希望在ADO.NET 团队博客:EF5 Beta 1 可用此处报告此问题。

0

为了让 EF5 Code First 支持您的枚举,它们不仅必须在相同的命名空间中,还必须在与 POCO 模型相同的类文件中。


这是不正确的。我最近一周一直在使用EF5 Code First,我的主要模型有两个属性是枚举类型,分别在不同的文件中。 - Nick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接