如何从具有未知类型和 id 的会话中获取对象
本文关键字:id 会话 取对象 获取 类型 未知 | 更新日期: 2023-09-27 18:31:19
我要做的是从会话中获取对象数据。
下面的代码应该清楚地说明所有内容:
//Type of object which i need to get in runtime
Type someUnknownType = typeof(someObject);
int id = 1; // for example
// here i got error cannot resolved someUnknownType
ISession.Get<someUnknownType>(id);
我该怎么做?
编辑: someObject
是实例变量。
首先,你有一个错误:
- 如果
someObject
是实例变量,则无法调用typeof(someObject)
。您只能拨打someObject.GetType()
- 如果是类型,则仍使用泛型版本。
您是否尝试使用非通用版本:
object x = ISession.Get(someObject.GetType(), id);
您需要使用此 Get 方法:
ISession.Get(Type, Object);
以下是NHibernate文档中的示例:
Cat cat = (Cat) sess.Get(catInstance.GetType(), id);