title: SQLite is not storing GUID values properly on MonoDroid and MonoTouch
body: <p>I am using MonoDroid to port the data-layer from my Window Mobile app to Android and iOS. 
  My data-layer is working and very well tested on SQL SERVER, SQL CE, and Windows SQLite.</p>
  
  <p>I created class libraries for my projects in my Android Solution and imported all my code. 
  I created a new DbEngine Implementation to tweak the queries for SQLite on Mono.</p>
  
  <p>When I insert into tables via text like 'insert into [user] values ('xx', 'hello', null)' it works fine, and I can see the affectedRows > 0. 
  However, when I try inserting using a command and parameters, I get incorrect values in the GUID columns please see the screenshot.</p>
  
  <pre><code>// Creating the parameter
  public override DbParameter CreateParameter(string name, object value)
  {
      DbParameter result;
      if (value is byte[])
      {
          var length = (value as Array).Length;
          result = new SqliteParameter(name, DbType.Binary, length) { Value = value};
      }
      else if (value is string &amp;&amp; ((string)value).Length &gt; 4000)
      {
          var length = ((string)value).Length;
          result = new SqliteParameter(name, DbType.String, length) { Value = value };
      }
      else if (value is Guid)
      {
          result = new SqliteParameter(name, DbType.Guid) { Value = value }; // up to here, I can see that the GUID has the right value and the SQLiteParameter is created properly. 
      }
      else
      {
          result = new SqliteParameter(name, value);
      }
      return result;
  }
  </code></pre>
  
  <p>This is how the rows are inserted when passed as parameters
  <img src="https://i.stack.imgur.com/BoqJs.png" alt="enter image description here"></p>