将表列映射到枚举和查找表到枚举

时间:2013-10-22 23:12:17

标签: entity-framework

我正在使用Entity Framework 6,只是发布,需要:

1 - 将表格列映射到枚举;

2 - 将查找表(有两列:Id和Name)映射到枚举。

这是否可以在Entity Framework 6中使用?

谢谢你, 米格尔

1 个答案:

答案 0 :(得分:14)

您通常不会将表映射到枚举类型。您只需根据查询表中的内容定义枚举类型,并使用它而不在模型中包含这些表。例如,对于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,
}

确保枚举值对应于数据库中的值)并且您将在应用中使用它而不包括Categories表 - 即您将使用此枚举类型作为类型属性是数据库中Categories表的外键。或者 - 例如如果需要描述 - 您将创建与Categories表对应的实体,并使用枚举(如上所定义)作为键属性类型。然后,再次使用枚举类型,数据库中的所有属性都是Categories表的外键。