c# - Entity Framework 5 枚举命名

标签 c# enums .net-4.5 entity-framework-5

我使用 EF 5 进行迁移,代码优先。一切都运行得很好,但有一些问题我想解决。

让我们从一个简单的例子开始。假设我有一个用户表和一个用户类型表。用户类型表是我的应用程序中的枚举/查找表。因此,用户表有一个 UserTypeId 列和一个 UserType 的外键引用等。在我的 poco 中,我有一个名为 UserType 的属性,它具有枚举类型。

要将初始值添加到 UserType 表(或稍后添加/更改值)并在初始迁移器等中创建表。我需要一个 UserType 表 poco 来表示数据库中的实际表并在 map 文件。我将 User poco 中的 UserType 属性映射到 UserType poco 中的 UserTypeId 。所以现在我有一个用于代码优先/迁移/上下文映射等的 poco,并且我有一个枚举。两者不能有相同的名称,所以我是否有一个名为 UserType 的 poco 和其他用于枚举的内容,或者让 UserType 的 poco 为 UserTypeTable 或其他内容?

然而,更重要的是,我是否遗漏了代码首先如何工作的一些关键元素?我尝试了上面的示例,运行了 Add-Migration,但它没有添加枚举的查找表。

最佳答案

如果我正确理解了您的问题以及您的困惑,

Enums support has nothing to do with lookup tables on the Db side.  

枚举只是允许您在类中拥有枚举属性,并且基本上被转换为“int”-s - 所以里面没有其他东西了。

有关更多信息,您可能想观看来自 Julie Lerman on Enum-s support 的视频

希望这有帮助

关于c# - Entity Framework 5 枚举命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10145165/

相关文章:

c# - EF6 代码优先迁移中的架构名称重复

c# - ASP.NET Core API 版本控制 - 部分取代以前的方法版本

swift - 如何从此枚举中获取 CustomStringConvertible 描述?

c# - 包装 OpenCV C++ 以便与 C# 一起使用

c# - C#中从剪贴板获取数据到DataTable

我可以将 C11 `_Atomic` 关键字应用于枚举类型吗?

c# - 是否可以在 C# 中使用具有带空格值的 VB6 枚举?

c# - 仅在单击时才加载每个子 -"folder"的层次结构 C# 组件?

c# - Entity Framework 与 SQLite 错误 : An error occurred while reading from the store provider's data reader

c# - ODP Oracle.DataAccess 使用 .NETFramework 4.5 但不使用 .NET Framework 4.0