0

我有一个表枚举为数据库中的字符串和数字

table Foo 
(
    id, 
    FooType, 
    FooTypeName, 
) 

FooType是固定值,因此,我想它映射到

public virtual FooType FooType { get; set; } 

我如何序列化属性的枚举这两个列,但只使用一个来阅读和查询?

哪个映射(XML,通过代码,FluentMapping映射)不要紧

回答

1

您可以创建FooTypeName作为一个字符串属性突出的FooType的价值,并将其映射为readonly


另外,如果你不这样做需要FooTypeName可言,只是忽略它在你的模型,并把它与一个触发更新。


或者,如果你觉得自己的编码了不少,创建映射FooType到两列的用户类型。

+0

会不会污染我的领域类?我有一个相当尴尬的遗留数据库,我想保持我的domainmodel尽可能干净,所以如果应用程序仍然使用旧架构用完,我可以使用automapping快速生成一个很好的。我不想继续破碎的设计。 – Firo 2012-07-19 14:26:42

+0

好的,有两种选择...我更喜欢第二种选择,只是因为它更容易。 – 2012-07-19 15:23:44

+0

嗯,我已经有很多IUsertypes,甚至实现了一个基类。我想我会选择这个选项。谢谢 – Firo 2012-07-19 19:26:26