我有一些功能需要“可选”作为我数据库中某些对象的选项,但每个方法背后的实际代码太复杂,无法序列化到数据库中。它们也不能是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?
}
答案 0 :(得分:2)
好的,我不确定我是否正确使用它。代表是serializable,因此可以将它们存储到数据库中,例如using NH。有一些限制,但序列化代表无论如何都是冒险之旅:)。
如果它不可行,那么您可以尝试将所有“函数”实现为静态方法。类和方法名称可以存储在表列中,并通过反射调用。