将枚举映射到字符串

时间:2015-07-24 12:53:11

标签: c# entity-framework ef-fluent-api

我正在将一些旧的旧数据库/代码迁移到Microsoft Entity Framework版本6,并遇到了以下问题。

代码隐藏定义了枚举和POCO对象,如下所示:

public enum AssetOwner {
    User = 1,
    Customer = 2,
    Supplier = 3
}

public class Asset {
   public int AssetId { get; set; }
   public string Reference { get; set; }
   public AssetOwner Owner { get; set; }
   ...
};

本身,这很好,但是由于历史原因,我假设SQL表使用枚举名而不是其值来存储数据。

create table [dbo].[Asset] 
(
    [AssetId]     int           not null,
    [Reference]   nvarchar(50)  not null,
    [Owner]       nvarchar(20)  not null
    ...
);

所以表格看起来像这样:

1, 'asset-1', 'Customer'
2, 'asset-2', 'Supplier'

有没有办法(我使用EF Fluent配置)能够将枚举的名称映射到数据库列?

0 个答案:

没有答案