【发布时间】:2014-04-22 17:26:07
【问题描述】:
给定以下架构:
Foo
----------
BarId
FooA
FooB
FooTypeId
FooType [LookUp Table]
----------
TypeC
TypeD
Bar
----------
BarZ
BarStatusId
BarStatus [LookUp Table]
----------
TypeE
类型和设置表是静态的,它们包含可以映射到enums 的静态数据。 A.k.a 查找表。 Foo 和 Bar 是普通表。
我的问题是;如何使用 Fluent NHibernate 惯用地映射这些查找表?最佳做法是什么?
class FooType
{
TypeC ...
TypeD ...
}
enum TypeC { ... }
enum TypeD { ... }
在应用程序的生命周期内,是否会在内存/缓存中维护一个 FooType 实体?是否每次想使用时都会从数据库中读取FooType 实体?
从代码创建new FooType() 会导致新的FooType 插入到查找表中,这是不需要的(相同的数据,不同的表ID)
处理查找表时的最佳做法是什么?
FooType 可以创建为单例吗?
【问题讨论】:
标签: c# nhibernate orm fluent-nhibernate nhibernate-mapping