我正在将一些旧的旧数据库/代码迁移到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配置)能够将枚举的名称映射到数据库列?