常规泛型操作,保存一个实体类,定义的方法如下:
int DbSession.Save<T>(T entity)
现在有一个需求,就是在保存实体entity后,获取数据库的自增主键?原始的Save方法不能提供这样的功能,和群里的朋友讨论了一会(这里特别感谢下群里的朋友 终ゝ )是从他那里获取的灵感,算是把这个问题给解决了。
解决方案如下:
public bool AddEntity(T entity, out int pkValue)
{
bool isOk = false;
isOk = DbSession.Save<T>(entity) > 0;
if (isOk)
{
pkValue = entity.ID;
}
else
{
pkValue = 0;
}
return isOk;
}
至此问题,已经解决,不过方案不是唯一的,可能也不是最好,但是提供了一种思路,利用输出参数 out int pkValue,来扩展框架原有的方法,从而获得新的功能。