/// <summary> /// Returns a command for inserting one object /// </summary> /// <param name="item">The object to insert</param> /// <returns></returns> public override IDbCommand GetInsertCommand(object item) { IEnumerable <DataFieldInfo> info = TypeParser.GetPrimaryKeys(item.GetType()); IDbCommand cmd = base.GetInsertCommand(item); if (info.Count() == 1 && !info.ElementAt(0).SetOnInsert) { cmd.CommandText = cmd.CommandText.Replace(";", string.Format("; SELECT LAST_INSERT_ID() as {0};", info.First().FieldName)); } return(cmd); }
/// <summary> /// Returns a command for inserting one object /// </summary> /// <param name="item">The object to insert</param> /// <returns></returns> public override IDbCommand GetInsertCommand(object item) { IEnumerable <DataFieldInfo> info = TypeParser.GetPrimaryKeys(item.GetType()); IDbCommand cmd = base.GetInsertCommand(item); if (info.Count() == 1) { cmd.CommandText = cmd.CommandText.Replace(";", string.Format("; SELECT last_insert_rowid() as {0};", info.First().EscapedFieldName)); } return(cmd); }