Как да съпоставите стойности на Enum към справочна таблица - Първо кодирайте

Първо използвам код и миграция, за да актуализирам моята база данни. Имам справочна таблица и съответстващо enum. моята таблица: Щати

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

Моето изброяване:

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

Искам да попълня таблица State със стойностите на enum, така че ако променя стойностите на enum - таблицата ще бъде променена в съответствие. Търсих много в гугъл, но не намерих нищо ясно по въпроса.

Всеки основен пример ще бъде оценен.


comment
вижте също stackoverflow.com/q/11167665/10245   -  person Tim Abell    schedule 01.06.2016


Отговори (1)


Google открива проекта EF-Enum-To-Lookup, който изглежда така ще направи това, което искате.

Създава справочни таблици и ограничения на външен ключ въз основа на изброяванията, използвани във вашия модел.

Инсталирайте го от nuget...

Install-Package ef-enum-to-lookup

Можете да стартирате това с...

var enumToLookup = new EnumToLookup();
enumToLookup.Apply(context);

Бихте могли да изпълните това от вашия начален метод на миграции, но трябва да сте наясно, че добавянето на член enum не променя вашия модел, така че ако използвате изрични миграции, началният метод няма да бъде изпълнен.

person Richard    schedule 14.05.2015
comment
Благодаря, но забравих да спомена, че не искам да използвам пакет ef-enum-to-lookup, защото този пакет работи на ef6 + и искам да работи и на ef5 - person ParPar; 14.05.2015
comment
Той е с отворен код - предлагам ви или да опитате да го прекомпилирате с EF5, или да използвате техниките, използвани в този пакет, за да постигнете целта си. - person Richard; 14.05.2015
comment
Ще ми е интересно да разбера дали може да се направи да работи с ef5 и бих бил отворен за заявки за изтегляне. - person Tim Abell; 01.06.2016