public override MetaAttributeList FindAttributes(string Name, string Value, string Schema = "") { var rtrn = new MetaAttributeList(); using (var comm = conn.CreateCommand()) { var sql = string.Format("select id, entity_id, name, value from {0}attribute where name = @name and value = @value;", Schema); comm.CommandText = sql.ToString(); comm.Parameters.AddWithValue("@name", Name); comm.Parameters.AddWithValue("@value", Value); var rdr = comm.ExecuteReader(); while (rdr.Read()) { rtrn.Add ( rdr.GetGuid(0) , new MetaAttribute() { ID = rdr.GetGuid(0) , EntityID = rdr.GetGuid(1) , Name = rdr.GetString(2) , Value = rdr.GetString(3) } ); } } return(rtrn); }
/* * public override Objects.MetaAttribute GetAttribute(Guid AttributeID, string Schema = "") * { * MetaAttribute rtrn = null; * * using (var comm = conn.CreateCommand()) * { * // where entity_id in ({1}) * var sql = string.Format("select id, entity_id, name, value from {0}attribute where id = @id;", Schema); * comm.CommandText = sql.ToString(); * comm.Parameters.AddWithValue("@id", AttributeID.ToString("N")); * * Trace(comm); * * var rdr = comm.ExecuteReader(); * * while (rdr.Read()) * { * rtrn = new MetaAttribute() * { * ID = rdr.GetGuid(0) * , EntityID = rdr.GetGuid(1) * , Name = rdr.GetString(2) * , Value = rdr["value"] * } * ; * } * } * * return rtrn; * } * */ public override Objects.MetaAttributeList GetAttributes(GuidList EntityID, List <string> Names = null, string Schema = "") { var rtrn = new MetaAttributeList(); var in_str = ""; if (Names != null) { foreach (string s in Names) { if (in_str.Length > 0) { in_str += ","; } in_str = string.Format("'{0}'", s); } } using (var comm = conn.CreateCommand()) { // where entity_id in ({1}) var sql = new StringBuilder(); sql.AppendLine(string.Format("select id, entity_id, name, value from {0}attribute", Schema)); var where = new StringBuilder(); if (in_str.Length > 0) { sql.AppendLine(string.Format(" and name in ({0})", in_str)); } sql.AppendLine(";"); comm.CommandText = sql.ToString(); Trace(comm); var rdr = comm.ExecuteReader(); while (rdr.Read()) { rtrn.Add ( rdr.GetGuid(0) , new MetaAttribute() { ID = rdr.GetGuid(0) , EntityID = rdr.GetGuid(1) , Name = rdr.GetString(2) , Value = rdr["value"] } ) ; } } return(rtrn); }