Exemplo n.º 1
0
        public T Create(T t)
        {
            var sql = string.Format(@"INSERT INTO [{0}] ([Data]) Values(@Data)", Table);

            var cmd        = Command(sql);
            var serializer = new BSonSerializer();
            var binaryData = serializer.Serialize(t);
            var dataParam  = new SqlCeParameter("@Data", binaryData);

            dataParam.SqlDbType = SqlDbType.Image;
            cmd.Parameters.Add(dataParam);
            cmd.ExecuteNonQuery();

            var reader = ExecDataReader(string.Format("SELECT * FROM [{0}] WHERE ([ID] = @@IDENTITY)", Table));

            reader.Read();
            var ob = Map(reader);

            reader.Close();

            var id = GetID(ob);

            SetID(t, id);

            return(ob);
        }
Exemplo n.º 2
0
        private T Map(SqlCeDataReader reader)
        {
            var id         = (int)reader["ID"];
            var data       = (byte[])reader["Data"];
            var serializer = new BSonSerializer();
            var obj        = serializer.Deserialize <T>(data);

            SetID(obj, id);
            return(obj);
        }
Exemplo n.º 3
0
        public T Update(T t)
        {
            var id         = GetID(t);
            var sql        = string.Format("UPDATE [{0}] SET [DATA]=@Data WHERE [ID]={1}", Table, id);
            var cmd        = Command(sql);
            var serializer = new BSonSerializer();
            var binaryData = serializer.Serialize(t);
            var dataParam  = new SqlCeParameter("@Data", binaryData);

            dataParam.SqlDbType = SqlDbType.Image;
            cmd.Parameters.Add(dataParam);
            cmd.ExecuteNonQuery();
            return(t);
        }