流畅的NHibernate,引用硬编码C#方法

时间:2011-05-13 20:10:03

标签: c# fluent-nhibernate

我有一些功能需要“可选”作为我数据库中某些对象的选项,但每个方法背后的实际代码太复杂,无法序列化到数据库中。它们也不能是SQL存储过程。

基本上,我有这些函数的静态List<T>。有没有一种标准的方法将它们与我的数据库中的对象相关联?比如..

var functions = new static List<Omega>{
 new Omega {
   Id = 1, // this would be useful to a database, but nothing really sets it.
   Name = "Some Name", // this isn't useful. It's a string literal
   Function = // this may be a Method, or a Lambda Expression, or something else.
 }
};

class Psi { 
  Guid Id { get; set; }
  Omega Omega { get; set; } // how can I keep a hard-reference here?
}

1 个答案:

答案 0 :(得分:2)

好的,我不确定我是否正确使用它。代表是serializable,因此可以将它们存储到数据库中,例如using NH。有一些限制,但序列化代表无论如何都是冒险之旅:)。

如果它不可行,那么您可以尝试将所有“函数”实现为静态方法。类和方法名称可以存储在表列中,并通过反射调用。