/// <summary> /// 添加操作表主键日志 /// </summary> /// <typeparam name="T">对象类型</typeparam> /// <param name="ctx">数据上下文</param> /// <param name="logID">日志唯一编码</param> /// <param name="tObj">操作对象</param> void AddPrimaryKeyInfo <T>(DepotManagementDataContext ctx, Guid logID, T tObj) { string strTableName = typeof(T).Name; string strSql = " Select col_name(object_id('" + strTableName + "'),colid) '主键字段' " + " From sysobjects as o Inner Join sysindexes as i On i.name=o.name " + " Inner Join sysindexkeys as k On k.indid=i.indid Where o.xtype = 'PK' and parent_obj=object_id('" + strTableName + "') and k.id= object_id('" + strTableName + "') "; DataTable tempTable = GlobalObject.DatabaseServer.QueryInfo(strSql); if (tempTable != null && tempTable.Rows.Count > 0) { foreach (DataRow dr in tempTable.Rows) { object keyContent = GlobalObject.GeneralFunction.GetItemValue <T>(tObj, dr[0].ToString()); if (keyContent == null) { break; } SystemLog_PrimaryKey lnqKey = new SystemLog_PrimaryKey(); lnqKey.LogID = logID; lnqKey.PrimaryKeyName = dr[0].ToString(); lnqKey.PrimaryKeyContent = keyContent.ToString(); ctx.SystemLog_PrimaryKey.InsertOnSubmit(lnqKey); } } }
/// <summary> /// 添加操作表主键日志 /// </summary> /// <typeparam name="T">对象类型</typeparam> /// <param name="ctx">数据上下文</param> /// <param name="logID">日志唯一编码</param> /// <param name="singleKey">单一主键值</param> void AddPrimaryKeyInfo <T>(DepotManagementDataContext ctx, Guid logID, object singleKey) { string strTableName = typeof(T).Name; string strSql = " Select col_name(object_id('" + strTableName + "'),colid) '主键字段' " + " From sysobjects as o Inner Join sysindexes as i On i.name=o.name " + " Inner Join sysindexkeys as k On k.indid=i.indid Where o.xtype = 'PK' and parent_obj=object_id('" + strTableName + "') and k.id= object_id('" + strTableName + "') "; DataTable tempTable = GlobalObject.DatabaseServer.QueryInfo(strSql); if (tempTable != null && tempTable.Rows.Count > 0) { SystemLog_PrimaryKey lnqKey = new SystemLog_PrimaryKey(); lnqKey.LogID = logID; lnqKey.PrimaryKeyName = tempTable.Rows[0][0].ToString(); lnqKey.PrimaryKeyContent = singleKey.ToString(); ctx.SystemLog_PrimaryKey.InsertOnSubmit(lnqKey); } }