Пример #1
0
        public static bool TryGet(string name, DataStoreRetrieveOption option, out DataStoreItem item)
        {
            if (name == null)
            {
                throw new ArgumentNullException();
            }

            using (var rCommand = r_Connection.CreateCommand())
            {
                rCommand.CommandText = option == DataStoreRetrieveOption.IncludeContent
                    ? "SELECT content, timestamp FROM datastore.item WHERE name = @name;"
                    : "SELECT NULL, timestamp FROM datastore.item WHERE name = @name;";
                rCommand.Parameters.AddWithValue("@name", name);

                using (var rReader = rCommand.ExecuteReader())
                {
                    if (!rReader.Read())
                    {
                        item = default(DataStoreItem);
                        return(false);
                    }

                    item = new DataStoreItem(name, rReader[0] as byte[], rReader.GetInt64Optional(1));
                    return(true);
                }
            }
        }
Пример #2
0
        public static IEnumerable <DataStoreItem> EnumerateItems(DataStoreRetrieveOption option)
        {
            using (var rCommand = r_Connection.CreateCommand())
            {
                rCommand.CommandText = option == DataStoreRetrieveOption.IncludeContent
                    ? "SELECT name, content, timestamp FROM datastore.item;"
                    : "SELECT name, NULL, timestamp FROM datastore.item;";

                using (var rReader = rCommand.ExecuteReader())
                    while (rReader.Read())
                    {
                        yield return(new DataStoreItem(rReader.GetString(0), rReader[1] as byte[], rReader.GetInt64Optional(2)));
                    }
            }
        }