public static DataTable getDataTable(
			SO_FRM_QuestionTriggerQuestion[] serializableObjects_in
		) {
			DataTable _output = new DataTable();
			_output.Locale = System.Globalization.CultureInfo.CurrentCulture;
			DataRow _dr;

			DataColumn _dc_ifquestion = new DataColumn("IFQuestion", typeof(long));
			_output.Columns.Add(_dc_ifquestion);
			DataColumn _dc_iftrigger = new DataColumn("IFTrigger", typeof(int));
			_output.Columns.Add(_dc_iftrigger);
			DataColumn _dc_ifquestion__destination = new DataColumn("IFQuestion__destination", typeof(long));
			_output.Columns.Add(_dc_ifquestion__destination);
			DataColumn _dc_ifuser__audit = new DataColumn("IFUser__audit", typeof(long));
			_output.Columns.Add(_dc_ifuser__audit);
			DataColumn _dc_date__audit = new DataColumn("Date__audit", typeof(DateTime));
			_output.Columns.Add(_dc_date__audit);

			foreach (SO_FRM_QuestionTriggerQuestion _serializableObject in serializableObjects_in) {
				_dr = _output.NewRow();

				_dr[_dc_ifquestion] = _serializableObject.IFQuestion;
				_dr[_dc_iftrigger] = _serializableObject.IFTrigger;
				_dr[_dc_ifquestion__destination] = _serializableObject.IFQuestion__destination;
				_dr[_dc_ifuser__audit] = _serializableObject.IFUser__audit;
				_dr[_dc_date__audit] = _serializableObject.Date__audit;

				_output.Rows.Add(_dr);
			}

			return _output;
		}
		/// <summary>
		/// Inserts/Updates FRM_QuestionTriggerQuestion values into/on Database. Inserts if FRM_QuestionTriggerQuestion doesn't exist or Updates if FRM_QuestionTriggerQuestion already exists.
		/// </summary>
		/// <param name="forceUpdate_in">assign with True if you wish to force an Update (even if no changes have been made since last time getObject method was run) and False if not</param>
		/// <param name="dbConnection_in">Database connection, making the use of Database Transactions possible on a sequence of operations across the same or multiple DataObjects</param>
		/// <returns>True if it didn't exist (INSERT), and False if it did exist (UPDATE)</returns>
		public static bool setObject(
			SO_FRM_QuestionTriggerQuestion FRM_QuestionTriggerQuestion_in, 
			bool forceUpdate_in, 
			DBConnection dbConnection_in
		) {
			bool ConstraintExist_out;
			if (forceUpdate_in || FRM_QuestionTriggerQuestion_in.HasChanges) {
				DBConnection _connection = (dbConnection_in == null)
					? DO__Utilities.DBConnection_createInstance(
						DO__Utilities.DBServerType,
						DO__Utilities.DBConnectionstring,
						DO__Utilities.DBLogfile
					) 
					: dbConnection_in;
				IDbDataParameter[] _dataparameters = new IDbDataParameter[] {
					_connection.newDBDataParameter("IFQuestion_", DbType.Int64, ParameterDirection.Input, FRM_QuestionTriggerQuestion_in.IFQuestion, 0), 
					_connection.newDBDataParameter("IFTrigger_", DbType.Int32, ParameterDirection.Input, FRM_QuestionTriggerQuestion_in.IFTrigger, 0), 
					_connection.newDBDataParameter("IFQuestion__destination_", DbType.Int64, ParameterDirection.Input, FRM_QuestionTriggerQuestion_in.IFQuestion__destination, 0), 
					_connection.newDBDataParameter("IFUser__audit_", DbType.Int64, ParameterDirection.Input, FRM_QuestionTriggerQuestion_in.IFUser__audit, 0), 
					_connection.newDBDataParameter("Date__audit_", DbType.DateTime, ParameterDirection.Input, FRM_QuestionTriggerQuestion_in.Date__audit, 0), 

					//_connection.newDBDataParameter("Exists", DbType.Boolean, ParameterDirection.Output, 0, 1)
					_connection.newDBDataParameter("Output_", DbType.Int32, ParameterDirection.Output, null, 0)
				};
				_connection.Execute_SQLFunction(
					"sp0_FRM_QuestionTriggerQuestion_setObject", 
					_dataparameters
				);
				if (dbConnection_in == null) { _connection.Dispose(); }

				ConstraintExist_out = (((int)_dataparameters[5].Value & 2) == 1);
				if (!ConstraintExist_out) {
					FRM_QuestionTriggerQuestion_in.HasChanges = false;
				}

				return (((int)_dataparameters[5].Value & 1) != 1);
			} else {
				ConstraintExist_out = false;

				return  false;
			}
		}
		/// <summary>
		/// Selects FRM_QuestionTriggerQuestion values from Database and assigns them to the appropriate DO_FRM_QuestionTriggerQuestion property.
		/// </summary>
		/// <param name="IFQuestion_in">IFQuestion</param>
		/// <param name="IFTrigger_in">IFTrigger</param>
		/// <param name="IFQuestion__destination_in">IFQuestion__destination</param>
		/// <param name="dbConnection_in">Database connection, making the use of Database Transactions possible on a sequence of operations across the same or multiple DataObjects</param>
		/// <returns>null if FRM_QuestionTriggerQuestion doesn't exists at Database</returns>
		public static SO_FRM_QuestionTriggerQuestion getObject(
			long IFQuestion_in, 
			int IFTrigger_in, 
			long IFQuestion__destination_in, 
			DBConnection dbConnection_in
		) {
			SO_FRM_QuestionTriggerQuestion _output = null;

			DBConnection _connection = (dbConnection_in == null)
				? DO__Utilities.DBConnection_createInstance(
					DO__Utilities.DBServerType,
					DO__Utilities.DBConnectionstring,
					DO__Utilities.DBLogfile
				) 
				: dbConnection_in;
			IDbDataParameter[] _dataparameters = new IDbDataParameter[] {
				_connection.newDBDataParameter("IFQuestion_", DbType.Int64, ParameterDirection.InputOutput, IFQuestion_in, 0), 
				_connection.newDBDataParameter("IFTrigger_", DbType.Int32, ParameterDirection.InputOutput, IFTrigger_in, 0), 
				_connection.newDBDataParameter("IFQuestion__destination_", DbType.Int64, ParameterDirection.InputOutput, IFQuestion__destination_in, 0), 
				_connection.newDBDataParameter("IFUser__audit_", DbType.Int64, ParameterDirection.Output, null, 0), 
				_connection.newDBDataParameter("Date__audit_", DbType.DateTime, ParameterDirection.Output, null, 0)
			};
			_connection.Execute_SQLFunction("sp0_FRM_QuestionTriggerQuestion_getObject", _dataparameters);
			if (dbConnection_in == null) { _connection.Dispose(); }

			if (_dataparameters[0].Value != DBNull.Value) {
				_output = new SO_FRM_QuestionTriggerQuestion();

				if (_dataparameters[0].Value == System.DBNull.Value) {
					_output.IFQuestion = 0L;
				} else {
					_output.IFQuestion = (long)_dataparameters[0].Value;
				}
				if (_dataparameters[1].Value == System.DBNull.Value) {
					_output.IFTrigger = 0;
				} else {
					_output.IFTrigger = (int)_dataparameters[1].Value;
				}
				if (_dataparameters[2].Value == System.DBNull.Value) {
					_output.IFQuestion__destination = 0L;
				} else {
					_output.IFQuestion__destination = (long)_dataparameters[2].Value;
				}
				if (_dataparameters[3].Value == System.DBNull.Value) {
					_output.IFUser__audit = 0L;
				} else {
					_output.IFUser__audit = (long)_dataparameters[3].Value;
				}
				if (_dataparameters[4].Value == System.DBNull.Value) {
					_output.Date__audit = new DateTime(1900, 1, 1);
				} else {
					_output.Date__audit = (DateTime)_dataparameters[4].Value;
				}

				_output.HasChanges = false;
				return _output;
			}

			return null;
		}
		/// <summary>
		/// Inserts/Updates FRM_QuestionTriggerQuestion values into/on Database. Inserts if FRM_QuestionTriggerQuestion doesn't exist or Updates if FRM_QuestionTriggerQuestion already exists.
		/// </summary>
		/// <param name="forceUpdate_in">assign with True if you wish to force an Update (even if no changes have been made since last time getObject method was run) and False if not</param>
		/// <returns>True if it didn't exist (INSERT), and False if it did exist (UPDATE)</returns>
		public static bool setObject(
			SO_FRM_QuestionTriggerQuestion FRM_QuestionTriggerQuestion_in, 
			bool forceUpdate_in
		) {
			return setObject(
				FRM_QuestionTriggerQuestion_in, 
				forceUpdate_in, 
				null
			);
		}