如何将枚举值映射到查找表 - 代码优先

时间:2015-05-14 08:32:40

标签: asp.net-mvc asp.net-mvc-4 ef-code-first migration ef-migrations

我首先使用代码并迁移以更新我的数据库。 我有一个查找表和一个对应的枚举。 我的桌子: 的

Id | State
---|-------
   |

我的枚举:

public enum States
    {
        good = 1,
        bad = 2
    }

我想用{1}}表填充枚举值, 因此,如果我更改枚举值 - 表将根据更改。 我搜索了很多但是找不到任何明确的信息。

任何基本的例子都将受到赞赏。

1 个答案:

答案 0 :(得分:2)

Google启动了EF-Enum-To-Lookup项目,看起来它会做你想做的事。

  

根据模型中使用的枚举创建查找表和外键约束。

从nuget安装...

$email = 'abc@test.com';
$userByEmail = Mage::getModel('admin/user')->getCollection()
                ->addFieldToFilter('email', array('eq' => array($email)));

foreach ($userByEmail as $uByEmail) {
   $userId = $uByEmail['user_id'];
}

$user = Mage::getModel('admin/user')->load($userId);
        $user->setIsActive(1)
        ->save();

您可以使用...

运行此功能
Install-Package ef-enum-to-lookup

您可以从迁移种子方法中运行此方法,但是您需要注意,添加枚举成员不会更改您的模型,因此如果您使用显式迁移,则种子方法会赢得&#39 ;运行。