public int LinkGet(IDatabaseProvider Provider) { Hashtable Params = new Hashtable(); Params.Add(CDBConst.CONST_TABLE_FIELD_OBJ_KEY, this._sourceObjectKey); Params.Add(CDBConst.CONST_TABLE_FIELD_LINK_OBJ_KEY, this._linkedObjectKey); string SQL = "SELECT " + CDBConst.CONST_TABLE_FIELD_OBJ_KEY; SQL += ", " + CDBConst.CONST_TABLE_FIELD_LINK_OBJ_KEY; SQL += ", " + CDBConst.CONST_TABLE_FIELD_LINK_OBJ_VALUE; SQL += ", " + CDBConst.CONST_TABLE_FIELD_LINK_OBJ_TYPE; SQL += " FROM " + CDBConst.CONST_TABLE_OBJECTS_LINKS + " WHERE "; SQL += CDBConst.CONST_TABLE_FIELD_LINK_OBJ_KEY + " = @p" + CDBConst.CONST_TABLE_FIELD_LINK_OBJ_KEY + " AND "; SQL += CDBConst.CONST_TABLE_FIELD_OBJ_KEY + " = @p" + CDBConst.CONST_TABLE_FIELD_OBJ_KEY; var T = Provider.QueryGetData(SQL, false, Params); if (T == null || T.Rows.Count == 0) return CErrors.ERR_DB_GET_OBJECT; this._sourceObjectKey = T.Rows[0][0].PostProcessDatabaseValue<decimal>(CDBConst.CONST_OBJECT_EMPTY_KEY); this._linkedObjectKey = T.Rows[0][1].PostProcessDatabaseValue<decimal>(CDBConst.CONST_OBJECT_EMPTY_KEY); this._linkValue = T.Rows[0][2].PostProcessDatabaseValue<int>(-1); this._linkType = T.Rows[0][3].PostProcessDatabaseValue<EnMetaobjectLinkType>(); return CErrors.ERR_SUC; }
public int LinkGet(DataContext Context) { var Links = Context.GetTable<CMetaobjectLink>(); var Query = from Link in Links where Link.SourceObjectKey == this._sourceObjectKey && Link.LinkedObjectKey == this._linkedObjectKey select Link; if (Query.Count() == 0) return CErrors.ERR_DB_GET_OBJECT; var Result = Query.ToList()[0]; this._sourceObjectKey = Result.SourceObjectKey; this._linkedObjectKey = Result.LinkedObjectKey; this._linkValue = Result.LinkValue; this._linkType = Result.LinkType; return CErrors.ERR_SUC; }