public void CanBeUsedAsDiscriminator() { EnumCharFoo foo = new EnumCharFoo(); EnumCharBar bar = new EnumCharBar(); foo.Id = 1; bar.Id = 2; using (ISession s = OpenSession()) { s.Save(foo); s.Save(bar); s.Flush(); } using (ISession s = OpenSession()) { s.Load<EnumCharFoo>(1); s.Load<EnumCharBar>(2); EnumCharBaz baz; baz = s.Load<EnumCharBaz>(1); Assert.AreEqual(SampleCharEnum.Dimmed, baz.Type); baz = s.Load<EnumCharBaz>(2); Assert.AreEqual(SampleCharEnum.Off, baz.Type); } }