Таблица столбцов таблицы для таблицы Enum и Lookup to Enum

Я использую Entity Framework 6, просто отпустите, и мне нужно:

1 - сопоставьте столбец таблицы с Enum;

2. Сопоставьте таблицу поиска (имеет два столбца: Идентификатор и имя) в Enum.

Возможно ли это в Entity Framework 6?

Спасибо, Miguel

Ответы

Ответ 1

Обычно вы не сопоставляете таблицу с типом перечисления. Вы просто определяете тип перечисления на основе того, что у вас есть в вашей таблице поиска и используете его, не включая эти таблицы в модель. Например, для таблицы Northwind.Categories:

ID  Name            Description
1   Beverages       Soft drinks, coffees, teas, beers, and ales
2   Condiments      Sweet and savory sauces, relishes, spreads, and seasonings
3   Confections     Desserts, candies, and sweet breads
4   Dairy Products  Cheeses
5   Grains/Cereals  Breads, crackers, pasta, and cereal
6   Meat/Poultry    Prepared meats
7   Produce         Dried fruit and bean curd
8   Seafood         Seaweed and fish

Вы создадите следующий тип перечисления

public enum Categories
{
    Beverages = 1,
    Condiments = 2,
    Confections = 3,
    Dairy_Products = 4,
    Grains_Cereals = 5,
    Meat_Poultry = 6,
    Produce = 7,
    Seafood = 8,
}

(убедитесь, что значения перечисления соответствуют значениям в вашей базе данных), и вы будете использовать их в своем приложении, не включая таблицу категорий, то есть вы должны использовать этот тип перечисления в качестве типа свойства, которые являются внешними ключами в таблице категорий в базе данных. Альтернативно - например. если вам нужны описания - вы должны создать сущность, соответствующую таблице "Категории", и использовать перечисление (как определено выше) как тип свойства ключа. Затем снова вы будете использовать тип перечисления для всех свойств, которые в базе данных являются внешними ключами в таблице категорий.