基类A,类B继承A
A<T>
{
public static T select(int ID)
{
T myObject;
Isession session=openSession();
myObject=(T)session.CreateQuery("from (??) as myclass where myclass.Id='"+ID+"'").UniqueResult();
}
closeSession(session);
return myObject;
}
然后B类这样的,属性略 class B:A<B>
{
...
}
这样我拿B.select(id);就可以得到B类下的对象。
用NHibernate做的持久化映射,我不想将类型带到参数里去。
还有,若 T myObject不存在,按道理为空,如何将他赋值为NULL,因为T可能是值类型。
A<T>
{
public static T select(int ID)
{
T myObject;
Isession session=openSession();
myObject=(T)session.CreateQuery("from (??) as myclass where myclass.Id='"+ID+"'").UniqueResult();
}
closeSession(session);
return myObject;
}
然后B类这样的,属性略 class B:A<B>
{
...
}
这样我拿B.select(id);就可以得到B类下的对象。
用NHibernate做的持久化映射,我不想将类型带到参数里去。
还有,若 T myObject不存在,按道理为空,如何将他赋值为NULL,因为T可能是值类型。
T t = session.Load<T>(id);
try
{
T t = session.Load<T>(id);
return t;
}
catch (Exception ex)
{
// 异常处理
return default(T);
}
finally
{
session.Close();
}
class A<T>
{
public static T select(string classType, string content) //classType 代表类型,c ontent代表查询条件
{
T myObject;
//组合查询语句并执行查询
return myObject;
}
class Player:A<Player>
{}
那么查一个player就这么查的:
Player.select("Player","sex,1,Name,2"); //查询性别为男且姓名为2得人是否有一个,没有或多个返回空 还不怎么知道session的详细用法,就会用那么几个。我看看Load
非泛型方法不能与类型参数一起使用