using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;

namespace Babebi4
{
	class Program
	{
		static void Main(string[] args)
		{
			/// Remember : Custom Tool = MSDataSetGenerator

			DataSet dataSet = new DataSet("BabebiDataSet")
			{
				Namespace = "Babebi4",
				CaseSensitive = true
			};

			if (false)
			{
				#region		[structure]

				#region		avant

				#region		Letter

				DataTable dataTable__Letter = dataSet.Tables.Add("Letter");

				#region		String

				DataColumn dataColumn__Letter__String = dataTable__Letter.Columns.Add("String", typeof(string));
				dataColumn__Letter__String.AllowDBNull = false;
				dataColumn__Letter__String.MaxLength = 2;
				dataColumn__Letter__String.ColumnMapping = MappingType.Attribute;

				#endregion	String

				dataTable__Letter.PrimaryKey = new DataColumn[] { dataColumn__Letter__String };

				#endregion	Letter
				#region		Language

				DataTable dataTable__Language = dataSet.Tables.Add("Language");

				#region		Code

				DataColumn dataColumn__Language__Code = dataTable__Language.Columns.Add("Code", typeof(string));
				dataColumn__Language__Code.AllowDBNull = false;
				dataColumn__Language__Code.MaxLength = 3;
				dataColumn__Language__Code.ColumnMapping = MappingType.Attribute;

				#endregion	Code
				#region		Name

				DataColumn dataColumn__Language__Name = dataTable__Language.Columns.Add("Name", typeof(string));
				dataColumn__Language__Name.AllowDBNull = false;
				dataColumn__Language__Name.MaxLength = 64;
				dataColumn__Language__Name.Unique = true;
				dataColumn__Language__Name.ColumnMapping = MappingType.Attribute;

				#endregion	Name
				#region		Words

				DataColumn
				dataColumn__Language__Words = dataTable__Language.Columns.Add("Words", typeof(long));
				dataColumn__Language__Words.AllowDBNull = false;
				dataColumn__Language__Words.DefaultValue = 0;
				dataColumn__Language__Words.ColumnMapping = MappingType.Attribute;

				#endregion	Words
				#region		Meanings

				DataColumn
				dataColumn__Language__Meanings = dataTable__Language.Columns.Add("Meanings", typeof(long));
				dataColumn__Language__Meanings.AllowDBNull = false;
				dataColumn__Language__Meanings.DefaultValue = 0;
				dataColumn__Language__Meanings.ColumnMapping = MappingType.Attribute;

				#endregion	Meanings

				dataTable__Language.PrimaryKey = new DataColumn[] { dataColumn__Language__Code };

				#endregion	Language
				#region		Letter_Language

				DataTable dataTable__Letter_Language = dataSet.Tables.Add("Letter_Language");

				#region		LetterString

				DataColumn dataColumn__Letter_Language__LetterString = dataTable__Letter_Language.Columns.Add("LetterString", typeof(string));
				dataColumn__Letter_Language__LetterString.AllowDBNull = false;
				dataColumn__Letter_Language__LetterString.MaxLength = 2;
				dataColumn__Letter_Language__LetterString.ColumnMapping = MappingType.Attribute;

				#endregion	LetterString
				#region		LanguageCode

				DataColumn dataColumn__Letter_Language__LanguageCode = dataTable__Letter_Language.Columns.Add("LanguageCode", typeof(string));
				dataColumn__Letter_Language__LanguageCode.AllowDBNull = false;
				dataColumn__Letter_Language__LanguageCode.MaxLength = 3;
				dataColumn__Letter_Language__LanguageCode.ColumnMapping = MappingType.Attribute;

				#endregion	LanguageCode
				#region		As

				DataColumn dataColumn__Letter_Language__As = dataTable__Letter_Language.Columns.Add("As", typeof(string));
				dataColumn__Letter_Language__As.AllowDBNull = false;
				dataColumn__Letter_Language__As.MaxLength = 4;
				dataColumn__Letter_Language__As.ColumnMapping = MappingType.Attribute;

				#endregion	As
				#region		In

				DataColumn dataColumn__Letter_Language__In = dataTable__Letter_Language.Columns.Add("In", typeof(string));
				dataColumn__Letter_Language__In.AllowDBNull = false;
				dataColumn__Letter_Language__In.MaxLength = 64;
				dataColumn__Letter_Language__In.ColumnMapping = MappingType.Attribute;

				#endregion	In

				dataTable__Letter_Language.PrimaryKey
					= new DataColumn[]
					{
					dataColumn__Letter_Language__LetterString,
					dataColumn__Letter_Language__LanguageCode
					};

				#region		Letter_Language__Letter

				dataSet.Relations.Add
				(
					"Letter_Language__Letter",
					new DataColumn[] { dataColumn__Letter__String },
					new DataColumn[] { dataColumn__Letter_Language__LetterString }
				);

				#endregion	Letter_Language__Letter
				#region		Letter_Language__Language

				dataSet.Relations.Add
				(
					"Letter_Language__Language",
					new DataColumn[] { dataColumn__Language__Code },
					new DataColumn[] { dataColumn__Letter_Language__LanguageCode }
				);

				#endregion	Letter_Language__Language

				#endregion	Letter__Language

				#region		WordType

				DataTable dataTable__WordType = dataSet.Tables.Add("WordType");

				#region		Id

				DataColumn
				dataColumn__WordType__Id = dataTable__WordType.Columns.Add("Id", typeof(Int16));
				dataColumn__WordType__Id.AllowDBNull = false;
				dataColumn__WordType__Id.ColumnMapping = MappingType.Attribute;

				#endregion	Id
				#region		Name

				DataColumn dataColumn__WordType__Name = dataTable__WordType.Columns.Add("Name", typeof(string));
				dataColumn__WordType__Name.AllowDBNull = true;
				dataColumn__WordType__Name.MaxLength = 256;
				dataColumn__WordType__Name.ColumnMapping = MappingType.Attribute;

				#endregion	Name

				dataTable__WordType.PrimaryKey = new DataColumn[] { dataColumn__WordType__Id };

				#endregion	WordType
				#region		WordType_Language

				DataTable dataTable__WordType_Language = dataSet.Tables.Add("WordType_Language");

				#region		WordTypeId

				DataColumn
				dataColumn__WordType_Language__WordTypeId = dataTable__WordType_Language.Columns.Add("WordTypeId", typeof(Int16));
				dataColumn__WordType_Language__WordTypeId.AllowDBNull = false;
				dataColumn__WordType_Language__WordTypeId.ColumnMapping = MappingType.Attribute;

				#endregion	WordTypeId
				#region		LanguageCode

				DataColumn
				dataColumn__WordType_Language__LanguageCode = dataTable__WordType_Language.Columns.Add("LanguageCode", typeof(string));
				dataColumn__WordType_Language__LanguageCode.AllowDBNull = false;
				dataColumn__WordType_Language__LanguageCode.MaxLength = 3;
				dataColumn__WordType_Language__LanguageCode.ColumnMapping = MappingType.Attribute;

				#endregion	LanguageCode
				#region		Name

				DataColumn
				dataColumn__WordType_Language__Name = dataTable__WordType_Language.Columns.Add("Name", typeof(string));
				dataColumn__WordType_Language__Name.AllowDBNull = true;
				dataColumn__WordType_Language__Name.MaxLength = 256;
				dataColumn__WordType_Language__Name.ColumnMapping = MappingType.Attribute;

				#endregion	Name
				#region		WordTypeName

				DataColumn
				dataColumn__WordType_Language__WordTypeName = dataTable__WordType_Language.Columns.Add("WordTypeName", typeof(string));
				dataColumn__WordType_Language__WordTypeName.ColumnMapping = MappingType.Hidden;

				#endregion	WordTypeName

				dataTable__WordType_Language.PrimaryKey
					= new DataColumn[]
					{
					dataColumn__WordType_Language__WordTypeId,
					dataColumn__WordType_Language__LanguageCode
					};

				#region		WordType_Language__WordType

				dataSet.Relations.Add
				(
					"WordType_Language__WordType",
					new DataColumn[] { dataColumn__WordType__Id },
					new DataColumn[] { dataColumn__WordType_Language__WordTypeId }
				);

				#endregion	WordType_Language__WordType
				#region		WordType_Language__Language

				dataSet.Relations.Add
				(
					"WordType_Language__Language",
					new DataColumn[] { dataColumn__Language__Code },
					new DataColumn[] { dataColumn__WordType_Language__LanguageCode }
				);

				#endregion	WordType_Language__Language

				dataColumn__WordType_Language__WordTypeName.Expression = "Parent(WordType_Language__WordType).Name";

				#endregion	WordType_Language
				#region		DerivatingWordType

				DataTable dataTable__DerivatingWordType = dataSet.Tables.Add("DerivatingWordType");

				#region		Id

				DataColumn
				dataColumn__DerivatingWordType__Id = dataTable__DerivatingWordType.Columns.Add("Id", typeof(Int16));
				dataColumn__DerivatingWordType__Id.AllowDBNull = false;
				dataColumn__DerivatingWordType__Id.ColumnMapping = MappingType.Attribute;

				#endregion	Id
				#region		Name

				DataColumn dataColumn__DerivatingWordType__Name = dataTable__DerivatingWordType.Columns.Add("Name", typeof(string));
				dataColumn__DerivatingWordType__Name.AllowDBNull = true;
				dataColumn__DerivatingWordType__Name.MaxLength = 256;
				dataColumn__DerivatingWordType__Name.ColumnMapping = MappingType.Attribute;

				#endregion	Name
				#region		WordTypeId

				DataColumn
				dataColumn__DerivatingWordType__WordTypeId = dataTable__DerivatingWordType.Columns.Add("WordTypeId", typeof(Int16));
				dataColumn__DerivatingWordType__WordTypeId.AllowDBNull = false;
				dataColumn__DerivatingWordType__WordTypeId.ColumnMapping = MappingType.Attribute;

				#endregion	WordTypeId

				dataTable__DerivatingWordType.PrimaryKey = new DataColumn[] { dataColumn__DerivatingWordType__Id };

				#region		DerivatingWordType_WordType

				dataSet.Relations.Add
				(
					"DerivatingWordType_WordType",
					new DataColumn[] { dataColumn__WordType__Id },
					new DataColumn[] { dataColumn__DerivatingWordType__WordTypeId }
				);

				#endregion	DerivatingWordType_WordType

				#endregion	DerivatingWordType
				#region		DerivatingWordType_Language

				DataTable dataTable__DerivatingWordType_Language = dataSet.Tables.Add("DerivatingWordType_Language");

				#region		DerivatingWordTypeId

				DataColumn
				dataColumn__DerivatingWordType_Language__DerivatingWordTypeId = dataTable__DerivatingWordType_Language.Columns.Add("DerivatingWordTypeId", typeof(Int16));
				dataColumn__DerivatingWordType_Language__DerivatingWordTypeId.AllowDBNull = false;
				dataColumn__DerivatingWordType_Language__DerivatingWordTypeId.ColumnMapping = MappingType.Attribute;

				#endregion	DerivatingWordTypeId
				#region		LanguageCode

				DataColumn
				dataColumn__DerivatingWordType_Language__LanguageCode = dataTable__DerivatingWordType_Language.Columns.Add("LanguageCode", typeof(string));
				dataColumn__DerivatingWordType_Language__LanguageCode.AllowDBNull = false;
				dataColumn__DerivatingWordType_Language__LanguageCode.MaxLength = 3;
				dataColumn__DerivatingWordType_Language__LanguageCode.ColumnMapping = MappingType.Attribute;

				#endregion	LanguageCode
				#region		Name

				DataColumn
				dataColumn__DerivatingWordType_Language__Name = dataTable__DerivatingWordType_Language.Columns.Add("Name", typeof(string));
				dataColumn__DerivatingWordType_Language__Name.AllowDBNull = true;
				dataColumn__DerivatingWordType_Language__Name.MaxLength = 256;
				dataColumn__DerivatingWordType_Language__Name.ColumnMapping = MappingType.Attribute;

				#endregion	Name
				#region		WordTypeId

				DataColumn
				dataColumn__DerivatingWordType_Language__WordTypeId = dataTable__DerivatingWordType_Language.Columns.Add("WordTypeId", typeof(Int16));
				dataColumn__DerivatingWordType_Language__WordTypeId.AllowDBNull = false;
				dataColumn__DerivatingWordType_Language__WordTypeId.ColumnMapping = MappingType.Attribute;

				#endregion	WordTypeId
				#region		DerivatingWordTypeName

				DataColumn
				dataColumn__DerivatingWordType_Language__DerivatingWordTypeName = dataTable__DerivatingWordType_Language.Columns.Add("DerivatingWordTypeName", typeof(string));
				dataColumn__DerivatingWordType_Language__DerivatingWordTypeName.ColumnMapping = MappingType.Hidden;

				#endregion	DerivatingWordTypeName
				#region		WordType_LanguageName

				DataColumn
				dataColumn__DerivatingWordType_Language__WordType_LanguageName = dataTable__DerivatingWordType_Language.Columns.Add("WordType_LanguageName", typeof(string));
				dataColumn__DerivatingWordType_Language__WordType_LanguageName.ColumnMapping = MappingType.Hidden;

				#endregion	WordType_LanguageName

				dataTable__DerivatingWordType_Language.PrimaryKey
					= new DataColumn[]
					{
					dataColumn__DerivatingWordType_Language__DerivatingWordTypeId,
					dataColumn__DerivatingWordType_Language__LanguageCode
					};

				#region		DerivatingWordType_Language__DerivatingWordType

				dataSet.Relations.Add
				(
					"DerivatingWordType_Language__DerivatingWordType",
					new DataColumn[] { dataColumn__DerivatingWordType__Id },
					new DataColumn[] { dataColumn__DerivatingWordType_Language__DerivatingWordTypeId }
				);

				#endregion	DerivatingWordType_Language__DerivatingWordType
				#region		DerivatingWordType_Language__Language

				dataSet.Relations.Add
				(
					"DerivatingWordType_Language__Language",
					new DataColumn[] { dataColumn__Language__Code },
					new DataColumn[] { dataColumn__DerivatingWordType_Language__LanguageCode }
				);

				#endregion	DerivatingWordType_Language__Language
				#region		DerivatingWordType_Language__WordType_Language

				dataSet.Relations.Add
				(
					"DerivatingWordType_Language__WordType_Language",
					new DataColumn[]
					{
					dataColumn__WordType_Language__WordTypeId,
					dataColumn__WordType_Language__LanguageCode
					},
					new DataColumn[]
					{
					dataColumn__DerivatingWordType_Language__WordTypeId,
					dataColumn__DerivatingWordType_Language__LanguageCode
					}
				);

				#endregion	DerivatingWordType_Language__WordType_Language

				dataColumn__DerivatingWordType_Language__DerivatingWordTypeName.Expression = "Parent(DerivatingWordType_Language__DerivatingWordType).Name";
				dataColumn__DerivatingWordType_Language__WordType_LanguageName.Expression = "Parent(DerivatingWordType_Language__WordType_Language).Name";

				#endregion	DerivatingWordType_Language
				#region		DerivatedWordType

				DataTable dataTable__DerivatedWordType = dataSet.Tables.Add("DerivatedWordType");

				#region		Id

				DataColumn
				dataColumn__DerivatedWordType__Id = dataTable__DerivatedWordType.Columns.Add("Id", typeof(Int16));
				dataColumn__DerivatedWordType__Id.AllowDBNull = false;
				dataColumn__DerivatedWordType__Id.ColumnMapping = MappingType.Attribute;

				#endregion	Id
				#region		Name

				DataColumn dataColumn__DerivatedWordType__Name = dataTable__DerivatedWordType.Columns.Add("Name", typeof(string));
				dataColumn__DerivatedWordType__Name.AllowDBNull = true;
				dataColumn__DerivatedWordType__Name.MaxLength = 256;
				dataColumn__DerivatedWordType__Name.ColumnMapping = MappingType.Attribute;

				#endregion	Name
				#region		WordTypeId

				DataColumn
				dataColumn__DerivatedWordType__WordTypeId = dataTable__DerivatedWordType.Columns.Add("WordTypeId", typeof(Int16));
				dataColumn__DerivatedWordType__WordTypeId.AllowDBNull = false;
				dataColumn__DerivatedWordType__WordTypeId.ColumnMapping = MappingType.Attribute;

				#endregion	WordTypeId

				dataTable__DerivatedWordType.PrimaryKey = new DataColumn[] { dataColumn__DerivatedWordType__Id };

				#region		DerivatedWordType_WordType

				dataSet.Relations.Add
				(
					"DerivatedWordType_WordType",
					new DataColumn[] { dataColumn__WordType__Id },
					new DataColumn[] { dataColumn__DerivatedWordType__WordTypeId }
				);

				#endregion	DerivatedWordType_WordType

				#endregion	DerivatedWordType
				#region		DerivatedWordType_Language

				DataTable dataTable__DerivatedWordType_Language = dataSet.Tables.Add("DerivatedWordType_Language");

				#region		DerivatedWordTypeId

				DataColumn
				dataColumn__DerivatedWordType_Language__DerivatedWordTypeId = dataTable__DerivatedWordType_Language.Columns.Add("DerivatedWordTypeId", typeof(Int16));
				dataColumn__DerivatedWordType_Language__DerivatedWordTypeId.AllowDBNull = false;
				dataColumn__DerivatedWordType_Language__DerivatedWordTypeId.ColumnMapping = MappingType.Attribute;

				#endregion	DerivatedWordTypeId
				#region		LanguageCode

				DataColumn
				dataColumn__DerivatedWordType_Language__LanguageCode = dataTable__DerivatedWordType_Language.Columns.Add("LanguageCode", typeof(string));
				dataColumn__DerivatedWordType_Language__LanguageCode.AllowDBNull = false;
				dataColumn__DerivatedWordType_Language__LanguageCode.MaxLength = 3;
				dataColumn__DerivatedWordType_Language__LanguageCode.ColumnMapping = MappingType.Attribute;

				#endregion	LanguageCode
				#region		Name

				DataColumn
				dataColumn__DerivatedWordType_Language__Name = dataTable__DerivatedWordType_Language.Columns.Add("Name", typeof(string));
				dataColumn__DerivatedWordType_Language__Name.AllowDBNull = true;
				dataColumn__DerivatedWordType_Language__Name.MaxLength = 256;
				dataColumn__DerivatedWordType_Language__Name.ColumnMapping = MappingType.Attribute;

				#endregion	Name
				#region		DerivatedWordTypeName

				DataColumn
				dataColumn__DerivatedWordType_Language__DerivatedWordTypeName = dataTable__DerivatedWordType_Language.Columns.Add("DerivatedWordTypeName", typeof(string));
				dataColumn__DerivatedWordType_Language__DerivatedWordTypeName.ColumnMapping = MappingType.Hidden;

				#endregion	DerivatedWordTypeName
				#region		WordTypeId

				DataColumn
				dataColumn__DerivatedWordType_Language__WordTypeId = dataTable__DerivatedWordType_Language.Columns.Add("WordTypeId", typeof(Int16));
				dataColumn__DerivatedWordType_Language__WordTypeId.AllowDBNull = false;
				dataColumn__DerivatedWordType_Language__WordTypeId.ColumnMapping = MappingType.Attribute;

				#endregion	WordTypeId
				#region		WordType_LanguageName

				DataColumn
				dataColumn__DerivatedWordType_Language__WordType_LanguageName = dataTable__DerivatedWordType_Language.Columns.Add("WordType_LanguageName", typeof(string));
				dataColumn__DerivatedWordType_Language__WordType_LanguageName.ColumnMapping = MappingType.Hidden;

				#endregion	WordType_LanguageName

				dataTable__DerivatedWordType_Language.PrimaryKey
					= new DataColumn[]
					{
					dataColumn__DerivatedWordType_Language__DerivatedWordTypeId,
					dataColumn__DerivatedWordType_Language__LanguageCode
					};

				#region		DerivatedWordType_Language__DerivatedWordType

				dataSet.Relations.Add
				(
					"DerivatedWordType_Language__DerivatedWordType",
					new DataColumn[] { dataColumn__DerivatedWordType__Id },
					new DataColumn[] { dataColumn__DerivatedWordType_Language__DerivatedWordTypeId }
				);

				#endregion	DerivatedWordType_Language__DerivatedWordType
				#region		DerivatedWordType_Language__Language

				dataSet.Relations.Add
				(
					"DerivatedWordType_Language__Language",
					new DataColumn[] { dataColumn__Language__Code },
					new DataColumn[] { dataColumn__DerivatedWordType_Language__LanguageCode }
				);

				#endregion	DerivatedWordType_Language__Language
				#region		DerivatedWordType_Language__WordType_Language

				dataSet.Relations.Add
				(
					"DerivatedWordType_Language__WordType_Language",
					new DataColumn[]
					{
					dataColumn__WordType_Language__WordTypeId,
					dataColumn__WordType_Language__LanguageCode
					},
					new DataColumn[]
					{
					dataColumn__DerivatedWordType_Language__WordTypeId,
					dataColumn__DerivatedWordType_Language__LanguageCode
					}
				);

				#endregion	DerivatedWordType_Language__WordType_Language

				dataColumn__DerivatedWordType_Language__DerivatedWordTypeName.Expression = "Parent(DerivatedWordType_Language__DerivatedWordType).Name";
				dataColumn__DerivatedWordType_Language__WordType_LanguageName.Expression = "Parent(DerivatedWordType_Language__WordType_Language).Name";

				#endregion	DerivatedWordType_Language
				#region		DerivatingWordType_DerivatedWordType

				DataTable dataTable__DerivatingWordType_DerivatedWordType = dataSet.Tables.Add("DerivatingWordType_DerivatedWordType");

				#region		DerivatingWordTypeId

				DataColumn
				dataColumn__DerivatingWordType_DerivatedWordType__DerivatingWordTypeId = dataTable__DerivatingWordType_DerivatedWordType.Columns.Add("DerivatingWordTypeId", typeof(Int16));
				dataColumn__DerivatingWordType_DerivatedWordType__DerivatingWordTypeId.AllowDBNull = false;
				dataColumn__DerivatingWordType_DerivatedWordType__DerivatingWordTypeId.ColumnMapping = MappingType.Attribute;

				#endregion	DerivatingWordTypeId
				#region		DerivatedWordTypeId

				DataColumn
				dataColumn__DerivatingWordType_DerivatedWordType__DerivatedWordTypeId = dataTable__DerivatingWordType_DerivatedWordType.Columns.Add("DerivatedWordTypeId", typeof(Int16));
				dataColumn__DerivatingWordType_DerivatedWordType__DerivatedWordTypeId.AllowDBNull = false;
				dataColumn__DerivatingWordType_DerivatedWordType__DerivatedWordTypeId.ColumnMapping = MappingType.Attribute;

				#endregion	DerivatedWordTypeId

				dataTable__DerivatingWordType_DerivatedWordType.PrimaryKey
					= new DataColumn[]
					{
					dataColumn__DerivatingWordType_DerivatedWordType__DerivatingWordTypeId,
					dataColumn__DerivatingWordType_DerivatedWordType__DerivatedWordTypeId
					};

				#region		DerivatingWordType_DerivatedWordType__DerivatingWordType

				dataSet.Relations.Add
				(
					"DerivatingWordType_DerivatedWordType__DerivatingWordType",
					new DataColumn[] { dataColumn__DerivatingWordType__Id },
					new DataColumn[] { dataColumn__DerivatingWordType_DerivatedWordType__DerivatingWordTypeId }
				);

				#endregion	DerivatingWordType_DerivatedWordType__DerivatingWordType
				#region		DerivatingWordType_DerivatedWordType__DerivatedWordType

				dataSet.Relations.Add
				(
					"DerivatingWordType_DerivatedWordType__DerivatedWordType",
					new DataColumn[]
					{
					dataColumn__DerivatedWordType__Id
					},
					new DataColumn[]
					{
					dataColumn__DerivatingWordType_DerivatedWordType__DerivatedWordTypeId
					}
				);

				#endregion	DerivatingWordType_DerivatedWordType__DerivatingWordType__Derivated

				#endregion	DerivatingWordType_DerivatedWordType__DerivatedWordType
				#region		Derivating

				DataTable dataTable__Derivating = dataSet.Tables.Add("Derivating");

				#region		Id

				DataColumn
				dataColumn__Derivating__Id = dataTable__Derivating.Columns.Add("Id", typeof(Int16));
				dataColumn__Derivating__Id.AllowDBNull = false;
				dataColumn__Derivating__Id.ColumnMapping = MappingType.Attribute;

				#endregion	Id
				#region		DerivatingWordTypeId

				DataColumn
				dataColumn__Derivating__DerivatingWordTypeId = dataTable__Derivating.Columns.Add("DerivatingWordTypeId", typeof(Int16));
				dataColumn__Derivating__DerivatingWordTypeId.AllowDBNull = false;
				dataColumn__Derivating__DerivatingWordTypeId.ColumnMapping = MappingType.Attribute;

				#endregion	DerivatingWordTypeId
				#region		DerivatedWordTypeId

				DataColumn
				dataColumn__Derivating__DerivatedWordTypeId = dataTable__Derivating.Columns.Add("DerivatedWordTypeId", typeof(Int16));
				dataColumn__Derivating__DerivatedWordTypeId.AllowDBNull = false;
				dataColumn__Derivating__DerivatedWordTypeId.ColumnMapping = MappingType.Attribute;

				#endregion	DerivatedWordTypeId
				#region		Name

				DataColumn
				dataColumn__Derivating__Name = dataTable__Derivating.Columns.Add("Name", typeof(string));
				dataColumn__Derivating__Name.AllowDBNull = false;
				dataColumn__Derivating__Name.MaxLength = 256;
				dataColumn__Derivating__Name.ColumnMapping = MappingType.Attribute;

				#endregion	Name
				#region		String

				DataColumn
				dataColumn__Derivating__String = dataTable__Derivating.Columns.Add("String", typeof(string));
				dataColumn__Derivating__String.AllowDBNull = false;
				dataColumn__Derivating__String.MaxLength = 8;
				dataColumn__Derivating__String.ColumnMapping = MappingType.Attribute;

				#endregion	String

				dataTable__Derivating.PrimaryKey
					= new DataColumn[]
					{
					dataColumn__Derivating__Id
					};

				#region		Derivating__DerivatingWordType_DerivatedWordType

				dataSet.Relations.Add
				(
					"Derivating__DerivatingWordType_DerivatedWordType",
					new DataColumn[]
					{
					dataColumn__DerivatingWordType_DerivatedWordType__DerivatingWordTypeId,
					dataColumn__DerivatingWordType_DerivatedWordType__DerivatedWordTypeId
					},
					new DataColumn[]
					{
					dataColumn__Derivating__DerivatingWordTypeId,
					dataColumn__Derivating__DerivatedWordTypeId
					}
				);

				#endregion	Derivating__DerivatingWordType__Derivating

				#endregion	Derivating
				#region		Derivating_Language

				DataTable dataTable__Derivating_Language = dataSet.Tables.Add("Derivating_Language");

				#region		DerivatingId

				DataColumn
				dataColumn__Derivating_Language__DerivatingId = dataTable__Derivating_Language.Columns.Add("DerivatingId", typeof(Int16));
				dataColumn__Derivating_Language__DerivatingId.AllowDBNull = false;
				dataColumn__Derivating_Language__DerivatingId.ColumnMapping = MappingType.Attribute;

				#endregion	DerivatingId
				#region		LanguageCode

				DataColumn
				dataColumn__Derivating_Language__LanguageCode = dataTable__Derivating_Language.Columns.Add("LanguageCode", typeof(string));
				dataColumn__Derivating_Language__LanguageCode.AllowDBNull = false;
				dataColumn__Derivating_Language__LanguageCode.MaxLength = 3;
				dataColumn__Derivating_Language__LanguageCode.ColumnMapping = MappingType.Attribute;

				#endregion	LanguageCode
				#region		Name

				DataColumn
				dataColumn__Derivating_Language__Name = dataTable__Derivating_Language.Columns.Add("Name", typeof(string));
				dataColumn__Derivating_Language__Name.AllowDBNull = false;
				dataColumn__Derivating_Language__Name.MaxLength = 256;
				dataColumn__Derivating_Language__Name.ColumnMapping = MappingType.Attribute;

				#endregion	Name
				#region		DerivatingWordTypeId

				DataColumn
				dataColumn__Derivating_Language__DerivatingWordTypeId = dataTable__Derivating_Language.Columns.Add("DerivatingWordTypeId", typeof(Int16));
				dataColumn__Derivating_Language__DerivatingWordTypeId.AllowDBNull = false;
				dataColumn__Derivating_Language__DerivatingWordTypeId.ColumnMapping = MappingType.Attribute;

				#endregion	DerivatingWordTypeId
				#region		DerivatedWordTypeId

				DataColumn
				dataColumn__Derivating_Language__DerivatedWordTypeId = dataTable__Derivating_Language.Columns.Add("DerivatedWordTypeId", typeof(Int16));
				dataColumn__Derivating_Language__DerivatedWordTypeId.AllowDBNull = false;
				dataColumn__Derivating_Language__DerivatedWordTypeId.ColumnMapping = MappingType.Attribute;

				#endregion	DerivatedWordTypeId
				#region		DerivatingName

				DataColumn
				dataColumn__Derivating_Language__DerivatingName = dataTable__Derivating_Language.Columns.Add("DerivatingName", typeof(string));
				dataColumn__Derivating_Language__DerivatingName.ColumnMapping = MappingType.Hidden;

				#endregion	DerivatingName
				#region		DerivatingString

				DataColumn
				dataColumn__Derivating_Language__DerivatingString = dataTable__Derivating_Language.Columns.Add("DerivatingString", typeof(string));
				dataColumn__Derivating_Language__DerivatingString.ColumnMapping = MappingType.Hidden;

				#endregion	DerivatingString
				#region		DerivatingAppendStringAtLast

				DataColumn
				dataColumn__Derivating_Language__DerivatingAppendStringAtLast = dataTable__Derivating_Language.Columns.Add("DerivatingAppendStringAtLast", typeof(bool));
				dataColumn__Derivating_Language__DerivatingAppendStringAtLast.ColumnMapping = MappingType.Hidden;

				#endregion	DerivatingAppendStringAtLast
				#region		DerivatingWordType_LanguageName

				DataColumn
				dataColumn__Derivating_Language__DerivatingWordType_LanguageName = dataTable__Derivating_Language.Columns.Add("DerivatingWordType_LanguageName", typeof(string));
				dataColumn__Derivating_Language__DerivatingWordType_LanguageName.ColumnMapping = MappingType.Hidden;

				#endregion	DerivatingWordType_LanguageName
				#region		DerivatedWordType_LanguageName

				DataColumn
				dataColumn__Derivating_Language__DerivatedWordType_LanguageName = dataTable__Derivating_Language.Columns.Add("DerivatedWordType_LanguageName", typeof(string));
				dataColumn__Derivating_Language__DerivatedWordType_LanguageName.ColumnMapping = MappingType.Hidden;

				#endregion	DerivatedWordType_LanguageName

				dataTable__Derivating_Language.PrimaryKey
					= new DataColumn[]
					{
					dataColumn__Derivating_Language__DerivatingId,
					dataColumn__Derivating_Language__LanguageCode
					};

				#region		Derivating_Language__Derivating

				dataSet.Relations.Add
				(
					"Derivating_Language__Derivating",
					new DataColumn[]
					{
					dataColumn__Derivating__Id,
					dataColumn__Derivating__DerivatingWordTypeId,
					dataColumn__Derivating__DerivatedWordTypeId
					},
					new DataColumn[]
					{
					dataColumn__Derivating_Language__DerivatingId,
					dataColumn__Derivating_Language__DerivatingWordTypeId,
					dataColumn__Derivating_Language__DerivatedWordTypeId
					}
				);

				#endregion	Derivating_Language__Derivating
				#region		Derivating_Language__Language

				dataSet.Relations.Add
				(
					"Derivating_Language__Language",
					new DataColumn[]
					{
					dataColumn__Language__Code
					},
					new DataColumn[]
					{
					dataColumn__Derivating_Language__LanguageCode
					}
				);

				#endregion	Derivating_Language__Language
				#region		Derivating_Language__DerivatingWordType_Language

				dataSet.Relations.Add
				(
					"Derivating_Language__DerivatingWordType_Language",
					new DataColumn[]
					{
					dataColumn__DerivatingWordType_Language__DerivatingWordTypeId,
					dataColumn__DerivatingWordType_Language__LanguageCode
					},
					new DataColumn[]
					{
					dataColumn__Derivating_Language__DerivatingWordTypeId,
					dataColumn__Derivating_Language__LanguageCode
					}
				);

				#endregion	Derivating_Language__DerivatingWordType_Language
				#region		Derivating_Language__DerivatedWordType_Language

				dataSet.Relations.Add
				(
					"Derivating_Language__DerivatedWordType_Language",
					new DataColumn[]
					{
					dataColumn__DerivatedWordType_Language__DerivatedWordTypeId,
					dataColumn__DerivatedWordType_Language__LanguageCode
					},
					new DataColumn[]
					{
					dataColumn__Derivating_Language__DerivatedWordTypeId,
					dataColumn__Derivating_Language__LanguageCode
					}
				);

				#endregion	Derivating_Language__DerivatedWordType_Language

				dataColumn__Derivating_Language__DerivatingName.Expression = "Parent(Derivating_Language__Derivating).Name";
				dataColumn__Derivating_Language__DerivatingString.Expression = "Parent(Derivating_Language__Derivating).String";
				dataColumn__Derivating_Language__DerivatingWordType_LanguageName.Expression = "Parent(Derivating_Language__DerivatingWordType_Language).Name";
				dataColumn__Derivating_Language__DerivatedWordType_LanguageName.Expression = "Parent(Derivating_Language__DerivatedWordType_Language).Name";

				#endregion	Derivating_Language

				#endregion	avant

				#region		WordOrPattern (11P)

				DataTable dataTable__WordOrPattern = dataSet.Tables.Add("WordOrPattern");

				#region		SubscriberCode

				DataColumn
				dataColumn__WordOrPattern__SubscriberCode = dataTable__WordOrPattern.Columns.Add("SubscriberCode", typeof(string));
				dataColumn__WordOrPattern__SubscriberCode.AllowDBNull = false;
				dataColumn__WordOrPattern__SubscriberCode.MaxLength = 1;
				dataColumn__WordOrPattern__SubscriberCode.ColumnMapping = MappingType.Attribute;

				#endregion	SubscriberCode
				#region		SubscriberId

				DataColumn
				dataColumn__WordOrPattern__SubscriberId = dataTable__WordOrPattern.Columns.Add("SubscriberId", typeof(Int32));
				dataColumn__WordOrPattern__SubscriberId.AllowDBNull = false;
				dataColumn__WordOrPattern__SubscriberId.ColumnMapping = MappingType.Attribute;

				#endregion	SubscriberId
				#region		HasParenthood

				DataColumn
				dataColumn__WordOrPattern__HasDerivating = dataTable__WordOrPattern.Columns.Add("HasParenthood", typeof(bool));
				dataColumn__WordOrPattern__HasDerivating.AllowDBNull = false;
				dataColumn__WordOrPattern__HasDerivating.DefaultValue = false;
				dataColumn__WordOrPattern__HasDerivating.ColumnMapping = MappingType.Attribute;

				#endregion	HasParenthood

				dataTable__WordOrPattern.PrimaryKey = new DataColumn[] { dataColumn__WordOrPattern__SubscriberCode, dataColumn__WordOrPattern__SubscriberId };

				#endregion	WordOrPattern (11P)
				#region		WordOrPatternParenthood  (11C)

				DataTable dataTable__WordOrPatternParenthood = dataSet.Tables.Add("WordOrPatternParenthood");

				#region		WordOrPatternSubscriberCode

				DataColumn
				dataColumn__WordOrPatternParenthood__WordOrPatternSubscriberCode = dataTable__WordOrPatternParenthood.Columns.Add("WordOrPatternSubscriberCode");
				dataColumn__WordOrPatternParenthood__WordOrPatternSubscriberCode.DataType = typeof(string);
				dataColumn__WordOrPatternParenthood__WordOrPatternSubscriberCode.AllowDBNull = false;
				dataColumn__WordOrPatternParenthood__WordOrPatternSubscriberCode.MaxLength = 32;
				dataColumn__WordOrPatternParenthood__WordOrPatternSubscriberCode.ColumnMapping = MappingType.Attribute;

				#endregion	WordOrPatternSubscriberCode
				#region		WordOrPatternSubscriberId

				DataColumn
				dataColumn__WordOrPatternParenthood__WordOrPatternSubscriberId = dataTable__WordOrPatternParenthood.Columns.Add("WordOrPatternSubscriberId", typeof(Int32));
				dataColumn__WordOrPatternParenthood__WordOrPatternSubscriberId.AllowDBNull = false;
				dataColumn__WordOrPatternParenthood__WordOrPatternSubscriberId.ColumnMapping = MappingType.Attribute;

				#endregion	WordOrPatternSubscriberId
				#region		ParentWordOrPatternSubscriberCode

				DataColumn
				dataColumn__WordOrPatternParenthood__ParentWordOrPatternSubscriberCode = dataTable__WordOrPatternParenthood.Columns.Add("ParentWordOrPatternSubscriberCode");
				dataColumn__WordOrPatternParenthood__ParentWordOrPatternSubscriberCode.DataType = typeof(string);
				dataColumn__WordOrPatternParenthood__ParentWordOrPatternSubscriberCode.AllowDBNull = false;
				dataColumn__WordOrPatternParenthood__ParentWordOrPatternSubscriberCode.MaxLength = 32;
				dataColumn__WordOrPatternParenthood__ParentWordOrPatternSubscriberCode.ColumnMapping = MappingType.Attribute;

				#endregion	ParentWordOrPatternSubscriberCode
				#region		ParentWordOrPatternSubscriberId

				DataColumn
				dataColumn__WordOrPatternParenthood__ParentWordOrPatternSubscriberId = dataTable__WordOrPatternParenthood.Columns.Add("ParentWordOrPatternSubscriberId", typeof(Int32));
				dataColumn__WordOrPatternParenthood__ParentWordOrPatternSubscriberId.AllowDBNull = false;
				dataColumn__WordOrPatternParenthood__ParentWordOrPatternSubscriberId.ColumnMapping = MappingType.Attribute;

				#endregion	ParentWordOrPatternSubscriberId

				dataTable__WordOrPatternParenthood.PrimaryKey
					= new DataColumn[]
					{
					dataColumn__WordOrPatternParenthood__WordOrPatternSubscriberCode,
					dataColumn__WordOrPatternParenthood__WordOrPatternSubscriberId
					};

				#region		WordOrPattern__WordOrPatternParenthood

				dataSet.Relations.Add
				(
					"WordOrPattern__WordOrPatternParenthood",
					new DataColumn[]
					{
					dataColumn__WordOrPattern__SubscriberCode,
					dataColumn__WordOrPattern__SubscriberId
					},
					new DataColumn[]
					{
					dataColumn__WordOrPatternParenthood__WordOrPatternSubscriberCode,
					dataColumn__WordOrPatternParenthood__WordOrPatternSubscriberId
					}
				);

				#endregion	WordOrPattern__WordOrPatternParenthood
				#region		WordOrPattern__WordOrPatternParenthood__Parent

				dataSet.Relations.Add
				(
					"WordOrPattern__WordOrPatternParenthood__Parent",
					new DataColumn[]
					{
					dataColumn__WordOrPattern__SubscriberCode,
					dataColumn__WordOrPattern__SubscriberId
					},
					new DataColumn[]
					{
					dataColumn__WordOrPatternParenthood__ParentWordOrPatternSubscriberCode,
					dataColumn__WordOrPatternParenthood__ParentWordOrPatternSubscriberId
					}
				);

				#endregion	WordOrPattern__WordOrPatternParenthood__Parent

				#endregion	WordOrPatternParenthood  (11C)

				#region		Pattern

				DataTable dataTable__Pattern = dataSet.Tables.Add("Pattern");

				#region		Id

				DataColumn
				dataColumn__Pattern__Id = dataTable__Pattern.Columns.Add("Id");
				dataColumn__Pattern__Id.DataType = typeof(Int32);
				dataColumn__Pattern__Id.AllowDBNull = false;
				dataColumn__Pattern__Id.ColumnMapping = MappingType.Attribute;

				#endregion	Id
				#region		UniqueKeyString

				DataColumn
				dataColumn__Pattern__UniqueKeyString = dataTable__Pattern.Columns.Add("UniqueKeyString", typeof(string));
				dataColumn__Pattern__UniqueKeyString.AllowDBNull = false;
				dataColumn__Pattern__UniqueKeyString.MaxLength = 32;
				dataColumn__Pattern__UniqueKeyString.ColumnMapping = MappingType.Attribute;
				dataColumn__Pattern__UniqueKeyString.Unique = true;

				#endregion	UniqueKeyString
				#region		SubscribingCode

				DataColumn
				dataColumn__Pattern__SubscribingCode = dataTable__Pattern.Columns.Add("SubscribingCode");
				dataColumn__Pattern__SubscribingCode.DataType = typeof(string);
				dataColumn__Pattern__SubscribingCode.AllowDBNull = false;
				dataColumn__Pattern__SubscribingCode.DefaultValue = "P";
				dataColumn__Pattern__SubscribingCode.MaxLength = 1;
				dataColumn__Pattern__SubscribingCode.ColumnMapping = MappingType.Attribute;

				#endregion	SubscribingCode

				dataTable__Pattern.PrimaryKey = new DataColumn[] { dataColumn__Pattern__Id };

				#region		Pattern_WordOrPattern

				dataSet.Relations.Add
				(
					"Pattern_WordOrPattern",
					new DataColumn[] { dataColumn__WordOrPattern__SubscriberCode, dataColumn__WordOrPattern__SubscriberId },
					new DataColumn[] { dataColumn__Pattern__SubscribingCode, dataColumn__Pattern__Id }
				);

				#endregion	Pattern_WordOrPattern

				#endregion	Pattern
				#region		Pattern_Language

				DataTable dataTable__Pattern_Language = dataSet.Tables.Add("Pattern_Language");

				#region		PatternId

				DataColumn
				dataColumn__Pattern_Language__PatternId = dataTable__Pattern_Language.Columns.Add("PatternId", typeof(Int32));
				dataColumn__Pattern_Language__PatternId.AllowDBNull = false;
				dataColumn__Pattern_Language__PatternId.ColumnMapping = MappingType.Attribute;

				#endregion	PatternId
				#region		LanguageCode

				DataColumn
				dataColumn__Pattern_Language__LanguageCode = dataTable__Pattern_Language.Columns.Add("LanguageCode", typeof(string));
				dataColumn__Pattern_Language__LanguageCode.AllowDBNull = false;
				dataColumn__Pattern_Language__LanguageCode.MaxLength = 3;
				dataColumn__Pattern_Language__LanguageCode.ColumnMapping = MappingType.Attribute;

				#endregion	LanguageCode
				#region		Meaning

				DataColumn
				dataColumn__Pattern_Language__Meaning = dataTable__Pattern_Language.Columns.Add("Meaning", typeof(string));
				dataColumn__Pattern_Language__Meaning.AllowDBNull = true;
				dataColumn__Pattern_Language__Meaning.MaxLength = 256;
				dataColumn__Pattern_Language__Meaning.ColumnMapping = MappingType.Attribute;

				#endregion	Meaning
				#region		UniqueKeyString (Expression)

				DataColumn
				dataColumn__Pattern_Language__UniqueKeyString = dataTable__Pattern_Language.Columns.Add("UniqueKeyString", typeof(string));
				dataColumn__Pattern_Language__UniqueKeyString.ColumnMapping = MappingType.Hidden;

				#endregion	ParentPattern (Expression)

				dataTable__Pattern_Language.PrimaryKey
					= new DataColumn[]
					{
					dataColumn__Pattern_Language__PatternId,
					dataColumn__Pattern_Language__LanguageCode
					};

				#region		Pattern_Language__Pattern

				dataSet.Relations.Add
				(
					"Pattern_Language__Pattern",
					new DataColumn[]
					{
					dataColumn__Pattern__Id
					},
					new DataColumn[]
					{
					dataColumn__Pattern_Language__PatternId
					}
				);

				#endregion	Pattern_Language__Pattern
				#region		Pattern_Language__Language

				dataSet.Relations.Add
				(
					"Pattern_Language__Language",
					new DataColumn[] { dataColumn__Language__Code },
					new DataColumn[] { dataColumn__Pattern_Language__LanguageCode }
				);

				#endregion	Pattern_Language__Language

				dataColumn__Pattern_Language__UniqueKeyString.Expression = "Parent(Pattern_Language__Pattern).UniqueKeyString";

				/// contrainte d'unicité multi-colonnes
				
				dataTable__Pattern_Language
					.Constraints
					.Add
					(
						"UC__Pattern_Laguage__LanguageCode__Meaning", 
						new DataColumn[] 
						{
							dataColumn__Pattern_Language__LanguageCode, 
							dataColumn__Pattern_Language__Meaning
						}, 
						false
					);

				#endregion	Pattern_Language

				#region		Word

				DataTable dataTable__Word = dataSet.Tables.Add("Word");

				#region		Id

				DataColumn
				dataColumn__Word__Id = dataTable__Word.Columns.Add("Id", typeof(Int32));
				dataColumn__Word__Id.AllowDBNull = false;
				dataColumn__Word__Id.ColumnMapping = MappingType.Attribute;

				#endregion	Id
				#region		UniqueKeyString

				DataColumn
				dataColumn__Word__UniqueKeyString = dataTable__Word.Columns.Add("UniqueKeyString", typeof(string));
				dataColumn__Word__UniqueKeyString.AllowDBNull = false;
				dataColumn__Word__UniqueKeyString.MaxLength = 32;
				dataColumn__Word__UniqueKeyString.ColumnMapping = MappingType.Attribute;
				dataColumn__Word__UniqueKeyString.Unique = true;

				#endregion	UniqueKeyString
				#region		WordTypeId

				DataColumn
				dataColumn__Word__WordTypeId = dataTable__Word.Columns.Add("WordTypeId", typeof(Int16));
				dataColumn__Word__WordTypeId.AllowDBNull = false;
				dataColumn__Word__WordTypeId.ColumnMapping = MappingType.Attribute;

				#endregion	WordTypeId
				#region		Origin

				/// Modes :
				/// P = Pattern
				/// D = Derivated
				/// C = Concatenated

				DataColumn
				dataColumn__Word__Origin = dataTable__Word.Columns.Add("Origin", typeof(string));
				dataColumn__Word__Origin.AllowDBNull = true;
				dataColumn__Word__Origin.MaxLength = 1;
				dataColumn__Word__Origin.DefaultValue = "P";
				dataColumn__Word__Origin.ColumnMapping = MappingType.Attribute;

				#endregion	Origin
				#region		HasDerivating

				DataColumn
				dataColumn__Word__HasDerivating = dataTable__Word.Columns.Add("HasDerivating", typeof(bool));
				dataColumn__Word__HasDerivating.AllowDBNull = false;
				dataColumn__Word__HasDerivating.DefaultValue = false;
				dataColumn__Word__HasDerivating.ColumnMapping = MappingType.Attribute;

				#endregion	HasDerivating
				#region		SubscribingCode

				DataColumn
				dataColumn__Word__SubscribingCode = dataTable__Word.Columns.Add("SubscribingCode", typeof(string));
				dataColumn__Word__SubscribingCode.AllowDBNull = false;
				dataColumn__Word__SubscribingCode.DefaultValue = "W";
				dataColumn__Word__SubscribingCode.MaxLength = 1;
				dataColumn__Word__SubscribingCode.ColumnMapping = MappingType.Attribute;

				#endregion	SubscribingCode
				#region		WordTypeName (Expression)

				DataColumn
				dataColumn__Word__WordTypeName = dataTable__Word.Columns.Add("WordTypeName", typeof(string));
				dataColumn__Word__WordTypeName.ColumnMapping = MappingType.Hidden;

				#endregion	WordTypeName (Expression)

				dataTable__Word.PrimaryKey = new DataColumn[] { dataColumn__Word__Id };

				#region		Word_WordOrPattern

				dataSet.Relations.Add
				(
					"Word_WordOrPattern",
					new DataColumn[] { dataColumn__WordOrPattern__SubscriberCode, dataColumn__WordOrPattern__SubscriberId },
					new DataColumn[] { dataColumn__Word__SubscribingCode, dataColumn__Word__Id }
				);

				#endregion	Word_WordOrPattern
				#region		Word_WordType

				dataSet.Relations.Add
				(
					"Word_WordType",
					new DataColumn[] { dataColumn__WordType__Id },
					new DataColumn[] { dataColumn__Word__WordTypeId }
				);

				#endregion	Word_WordType

				dataColumn__Word__WordTypeName.Expression = "Parent(Word_WordType).Name";

				#endregion	Word
				#region		Word_Language

				DataTable dataTable__Word_Language = dataSet.Tables.Add("Word_Language");

				#region		WordId

				DataColumn
				dataColumn__Word_Language__WordId = dataTable__Word_Language.Columns.Add("WordId", typeof(Int32));
				dataColumn__Word_Language__WordId.AllowDBNull = false;
				dataColumn__Word_Language__WordId.ColumnMapping = MappingType.Attribute;

				#endregion	WordId
				#region		LanguageCode

				DataColumn
				dataColumn__Word_Language__LanguageCode = dataTable__Word_Language.Columns.Add("LanguageCode", typeof(string));
				dataColumn__Word_Language__LanguageCode.AllowDBNull = false;
				dataColumn__Word_Language__LanguageCode.MaxLength = 3;
				dataColumn__Word_Language__LanguageCode.ColumnMapping = MappingType.Attribute;

				#endregion	LanguageCode
				#region		WordTypeId

				DataColumn
				dataColumn__Word_Language__WordTypeId = dataTable__Word_Language.Columns.Add("WordTypeId", typeof(Int16));
				dataColumn__Word_Language__WordTypeId.AllowDBNull = false;
				dataColumn__Word_Language__WordTypeId.ColumnMapping = MappingType.Attribute;

				#endregion	WordTypeId
				#region		Meaning

				DataColumn
				dataColumn__Word_Language__Meaning = dataTable__Word_Language.Columns.Add("Meaning", typeof(string));
				dataColumn__Word_Language__Meaning.AllowDBNull = true;
				dataColumn__Word_Language__Meaning.MaxLength = 256;
				dataColumn__Word_Language__Meaning.ColumnMapping = MappingType.Attribute;

				#endregion	Meaning
				#region		WordString

				DataColumn
				dataColumn__Word_Language__WordString = dataTable__Word_Language.Columns.Add("WordString", typeof(string));
				dataColumn__Word_Language__WordString.ColumnMapping = MappingType.Hidden;

				#endregion	WordString
				#region		WordHasParent

				DataColumn
				dataColumn__Word_Language__WordHasParent = dataTable__Word_Language.Columns.Add("WordHasParent", typeof(bool));
				dataColumn__Word_Language__WordHasParent.ColumnMapping = MappingType.Hidden;

				#endregion	WordHasParent
				#region		WordHasDerivating

				DataColumn
				dataColumn__Word_Language__WordHasDerivating = dataTable__Word_Language.Columns.Add("WordHasDerivating", typeof(bool));
				dataColumn__Word_Language__WordHasDerivating.ColumnMapping = MappingType.Hidden;

				#endregion	WordHasDerivating
				#region		WordType_LanguageName

				DataColumn
				dataColumn__Word_Language__WordType_LanguageName = dataTable__Word_Language.Columns.Add("WordType_LanguageName", typeof(string));
				dataColumn__Word_Language__WordType_LanguageName.ColumnMapping = MappingType.Hidden;

				#endregion	WordHasDerivating

				dataTable__Word_Language.PrimaryKey
					= new DataColumn[]
					{
					dataColumn__Word_Language__WordId,
					dataColumn__Word_Language__LanguageCode
					};

				#region		Word_Language__Word

				dataSet.Relations.Add
				(
					"Word_Language__Word",
					new DataColumn[]
					{
					dataColumn__Word__Id,
					dataColumn__Word__WordTypeId
					},
					new DataColumn[]
					{
					dataColumn__Word_Language__WordId,
					dataColumn__Word_Language__WordTypeId
					}
				);

				#endregion	Word_Language__Word
				#region		Word_Language__Language

				dataSet.Relations.Add
				(
					"Word_Language__Language",
					new DataColumn[] { dataColumn__Language__Code },
					new DataColumn[] { dataColumn__Word_Language__LanguageCode }
				);

				#endregion	Word_Language__Language
				#region		Word_Language__WordType_Language

				dataSet.Relations.Add
				(
					"Word_Language__WordType_Language",
					new DataColumn[]
					{
					dataColumn__WordType_Language__WordTypeId,
					dataColumn__WordType_Language__LanguageCode
					},
					new DataColumn[]
					{
					dataColumn__Word_Language__WordTypeId,
					dataColumn__Word_Language__LanguageCode
					}
				);

				#endregion	Word_Language__WordType_Language

				dataColumn__Word_Language__WordString.Expression = "Parent(Word_Language__Word).UniqueKeyString";
				dataColumn__Word_Language__WordHasDerivating.Expression = "Parent(Word_Language__Word).HasDerivating";
				dataColumn__Word_Language__WordType_LanguageName.Expression = "Parent(Word_Language__WordType_Language).Name";

				#endregion	Word_Language
				#region		LanguageWord

				DataTable dataTable__LanguageWord = dataSet.Tables.Add("LanguageWord");

				#region		LanguageCode

				DataColumn
				dataColumn__LanguageWord__LanguageCode = dataTable__LanguageWord.Columns.Add("LanguageCode", typeof(string));
				dataColumn__LanguageWord__LanguageCode.AllowDBNull = false;
				dataColumn__LanguageWord__LanguageCode.MaxLength = 3;
				dataColumn__LanguageWord__LanguageCode.ColumnMapping = MappingType.Attribute;

				#endregion	LanguageCode
				#region		String

				DataColumn
				dataColumn__LanguageWord__String = dataTable__LanguageWord.Columns.Add("String", typeof(string));
				dataColumn__LanguageWord__String.AllowDBNull = false;
				dataColumn__LanguageWord__String.MaxLength = 32;
				dataColumn__LanguageWord__String.ColumnMapping = MappingType.Attribute;

				#endregion	String

				dataTable__LanguageWord.PrimaryKey
					= new DataColumn[]
					{
					dataColumn__LanguageWord__LanguageCode,
					dataColumn__LanguageWord__String
					};

				#region		LanguageWord__Language

				dataSet.Relations.Add
				(
					"LanguageWord__Language",
					new DataColumn[] { dataColumn__Language__Code },
					new DataColumn[] { dataColumn__LanguageWord__LanguageCode }
				);

				#endregion	LanguageWord__Language

				#endregion	LanguageWord
				#region		Word_LanguageWord

				DataTable dataTable__Word_LanguageWord = dataSet.Tables.Add("Word_LanguageWord");

				#region		WordId

				DataColumn
				dataColumn__Word_LanguageWord__WordId = dataTable__Word_LanguageWord.Columns.Add("WordId", typeof(Int32));
				dataColumn__Word_LanguageWord__WordId.AllowDBNull = false;
				dataColumn__Word_LanguageWord__WordId.ColumnMapping = MappingType.Attribute;

				#endregion	WordId
				#region		LanguageCode

				DataColumn
				dataColumn__Word_LanguageWord__LanguageCode = dataTable__Word_LanguageWord.Columns.Add("LanguageCode", typeof(string));
				dataColumn__Word_LanguageWord__LanguageCode.AllowDBNull = false;
				dataColumn__Word_LanguageWord__LanguageCode.MaxLength = 3;
				dataColumn__Word_LanguageWord__LanguageCode.ColumnMapping = MappingType.Attribute;

				#endregion	LanguageCode
				#region		LanguageWordString

				DataColumn
				dataColumn__Word_LanguageWord__LanguageWordString = dataTable__Word_LanguageWord.Columns.Add("LanguageWordString", typeof(string));
				dataColumn__Word_LanguageWord__LanguageWordString.AllowDBNull = false;
				dataColumn__Word_LanguageWord__LanguageWordString.MaxLength = 32;
				dataColumn__Word_LanguageWord__LanguageWordString.ColumnMapping = MappingType.Attribute;

				#endregion	LanguageWordString
				#region		WordString

				DataColumn
				dataColumn__Word_LanguageWord__WordString = dataTable__Word_LanguageWord.Columns.Add("WordString", typeof(string));
				dataColumn__Word_LanguageWord__WordString.ColumnMapping = MappingType.Hidden;

				#endregion	WordString
				#region		Word_LanguageMeaning

				DataColumn
				dataColumn__Word_LanguageWord__Word_LanguageMeaning = dataTable__Word_LanguageWord.Columns.Add("Word_LanguageMeaning", typeof(string));
				dataColumn__Word_LanguageWord__Word_LanguageMeaning.ColumnMapping = MappingType.Hidden;

				#endregion	Word_LanguageMeaning		

				dataTable__Word_LanguageWord.PrimaryKey
					= new DataColumn[]
					{
					dataColumn__Word_LanguageWord__WordId,
					dataColumn__Word_LanguageWord__LanguageCode,
					dataColumn__Word_LanguageWord__LanguageWordString
					};

				#region		Word_LanguageWord__Word_Language

				dataSet.Relations.Add
				(
					"Word_LanguageWord__Word_Language",
					new DataColumn[]
					{
					dataColumn__Word_Language__WordId,
					dataColumn__Word_Language__LanguageCode
					},
					new DataColumn[]
					{
					dataColumn__Word_LanguageWord__WordId,
					dataColumn__Word_LanguageWord__LanguageCode
					}
				);

				#endregion	Word_LanguageWord__Word_Language
				#region		Word_LanguageWord__LanguageWord

				dataSet.Relations.Add
				(
					"Word_LanguageWord__LanguageWord",
					new DataColumn[]
					{
					dataColumn__LanguageWord__LanguageCode,
					dataColumn__LanguageWord__String
					},
					new DataColumn[]
					{
					dataColumn__Word_LanguageWord__LanguageCode,
					dataColumn__Word_LanguageWord__LanguageWordString
					}
				);

				#endregion	Word_LanguageWord__LanguageWord

				dataColumn__Word_LanguageWord__WordString.Expression = "Parent(Word_LanguageWord__Word_Language).WordString";
				dataColumn__Word_LanguageWord__Word_LanguageMeaning.Expression = "Parent(Word_LanguageWord__Word_Language).Meaning";

				#endregion	Word_LanguageWord

				#region		WordFromPattern (Mode)

				DataTable dataTable__WordFromPattern = dataSet.Tables.Add("WordFromPattern");

				#region		Id

				DataColumn
				dataColumn__WordFromPattern__Id = dataTable__WordFromPattern.Columns.Add("Id", typeof(Int32));
				dataColumn__WordFromPattern__Id.AllowDBNull = false;
				dataColumn__WordFromPattern__Id.ColumnMapping = MappingType.Attribute;

				#endregion	Id
				#region		Origin
				DataColumn
				dataColumn__WordFromPattern__Origin = dataTable__WordFromPattern.Columns.Add("Origin", typeof(string));
				dataColumn__WordFromPattern__Origin.AllowDBNull = true;
				dataColumn__WordFromPattern__Origin.MaxLength = 1;
				dataColumn__WordFromPattern__Origin.DefaultValue = "P";
				dataColumn__WordFromPattern__Origin.ColumnMapping = MappingType.Attribute;

				#endregion	Origin
				#region		GuiHorizontalShiftIndex

				DataColumn
				dataColumn__WordFromPattern__GuiHorizontalShiftIndex = dataTable__WordFromPattern.Columns.Add("GuiHorizontalShiftIndex", typeof(short));
				dataColumn__WordFromPattern__GuiHorizontalShiftIndex.AllowDBNull = false;
				dataColumn__WordFromPattern__GuiHorizontalShiftIndex.DefaultValue = 1;
				dataColumn__WordFromPattern__GuiHorizontalShiftIndex.ColumnMapping = MappingType.Attribute;

				#endregion	GuiHorizontalShiftIndex

				dataTable__WordFromPattern.PrimaryKey = new DataColumn[] { dataColumn__WordFromPattern__Id };

				#region		WordFromPattern__Word

				dataSet.Relations.Add
				(
					"WordFromPattern__Word",
					new DataColumn[] { dataColumn__Word__Id, dataColumn__Word__Origin },
					new DataColumn[] { dataColumn__WordFromPattern__Id, dataColumn__WordFromPattern__Origin }
				);

				#endregion	WordFromPattern__Word

				#endregion	WordFromPattern (Mode)

				#region		WordConcatenated (Mode)

				DataTable dataTable__WordConcatenated = dataSet.Tables.Add("WordConcatenated");

				#region		Id

				DataColumn
				dataColumn__WordConcatenated__Id = dataTable__WordConcatenated.Columns.Add("Id", typeof(Int32));
				dataColumn__WordConcatenated__Id.AllowDBNull = false;
				dataColumn__WordConcatenated__Id.ColumnMapping = MappingType.Attribute;

				#endregion	Id
				#region		Origin

				DataColumn
				dataColumn__WordConcatenated__Origin = dataTable__WordConcatenated.Columns.Add("Origin", typeof(string));
				dataColumn__WordConcatenated__Origin.AllowDBNull = false;
				dataColumn__WordConcatenated__Origin.MaxLength = 1;
				dataColumn__WordConcatenated__Origin.DefaultValue = "C";
				dataColumn__WordConcatenated__Origin.ColumnMapping = MappingType.Attribute;

				#endregion	Origin

				dataTable__WordConcatenated.PrimaryKey = new DataColumn[] { dataColumn__WordConcatenated__Id };

				#region		WordConcatenated__Word

				dataSet.Relations.Add
				(
					"WordConcatenated__Word",
					new DataColumn[]
					{
					dataColumn__Word__Id,
					dataColumn__Word__Origin
					},
					new DataColumn[]
					{
					dataColumn__WordConcatenated__Id,
					dataColumn__WordConcatenated__Origin
					}
				);

				#endregion	WordConcatenated__Word

				#endregion	WordConcatenated (Mode)
				#region		WordConcatenatedComponent

				DataTable dataTable__WordConcatenatedComponent = dataSet.Tables.Add("WordConcatenatedComponent");

				#region		WordConcatenatedId

				DataColumn
				dataColumn__WordConcatenatedComponent__WordConcatenatedId = dataTable__WordConcatenatedComponent.Columns.Add("WordConcatenatedId", typeof(Int32));
				dataColumn__WordConcatenatedComponent__WordConcatenatedId.AllowDBNull = false;
				dataColumn__WordConcatenatedComponent__WordConcatenatedId.ColumnMapping = MappingType.Attribute;

				#endregion	WordConcatenatedId
				#region		Rank

				DataColumn
				dataColumn__WordConcatenatedComponent__Rank = dataTable__WordConcatenatedComponent.Columns.Add("Rank", typeof(short));
				dataColumn__WordConcatenatedComponent__Rank.AllowDBNull = false;
				dataColumn__WordConcatenatedComponent__Rank.ColumnMapping = MappingType.Attribute;

				#endregion	Rank
				#region		WordId

				DataColumn
				dataColumn__WordConcatenated__WordId = dataTable__WordConcatenatedComponent.Columns.Add("WordId", typeof(Int32));
				dataColumn__WordConcatenated__WordId.AllowDBNull = false;
				dataColumn__WordConcatenated__WordId.ColumnMapping = MappingType.Attribute;

				#endregion	WordId
				#region		SubStringIndex

				DataColumn
				dataColumn__WordConcatenatedComponent__SubStringIndex = dataTable__WordConcatenatedComponent.Columns.Add("SubStringIndex", typeof(short));
				dataColumn__WordConcatenatedComponent__SubStringIndex.AllowDBNull = true;
				dataColumn__WordConcatenatedComponent__SubStringIndex.ColumnMapping = MappingType.Attribute;

				#endregion	SubStringIndex
				#region		SubStringLength

				DataColumn
				dataColumn__WordConcatenatedComponent__SubStringLength = dataTable__WordConcatenatedComponent.Columns.Add("SubStringLength", typeof(short));
				dataColumn__WordConcatenatedComponent__SubStringLength.AllowDBNull = true;
				dataColumn__WordConcatenatedComponent__SubStringLength.ColumnMapping = MappingType.Attribute;

				#endregion	SubStringLength

				dataTable__WordConcatenatedComponent.PrimaryKey
					= new DataColumn[]
					{
					dataColumn__WordConcatenatedComponent__WordConcatenatedId,
					dataColumn__WordConcatenatedComponent__Rank
					};

				#region		WordConcatenatedComponent__WordConcatenated

				dataSet.Relations.Add
				(
					"WordConcatenatedComponent__WordConcatenated",
					new DataColumn[]
					{
					dataColumn__WordConcatenated__Id
					},
					new DataColumn[]
					{
					dataColumn__WordConcatenatedComponent__WordConcatenatedId
					}
				);

				#endregion	WordConcatenatedComponent__WordConcatenated
				#region		WordConcatenatedComponent__Word

				dataSet.Relations.Add
				(
					"WordConcatenatedComponent__Word",
					new DataColumn[]
					{
					dataColumn__Word__Id
					},
					new DataColumn[]
					{
					dataColumn__WordConcatenated__WordId
					}
				);

				#endregion	WordConcatenatedComponent__Word

				#endregion	WordConcatenatedComponent

				#region		WordDerivating (11C)

				DataTable dataTable__WordDerivating = dataSet.Tables.Add("WordDerivating");

				#region		Id

				DataColumn
				dataColumn__WordDerivating__Id = dataTable__WordDerivating.Columns.Add("Id", typeof(Int32));
				dataColumn__WordDerivating__Id.AllowDBNull = false;
				dataColumn__WordDerivating__Id.ColumnMapping = MappingType.Attribute;

				#endregion	Id
				#region		WordTypeId

				DataColumn
				dataColumn__WordDerivating__WordTypeId = dataTable__WordDerivating.Columns.Add("WordTypeId", typeof(Int16));
				dataColumn__WordDerivating__WordTypeId.AllowDBNull = false;
				dataColumn__WordDerivating__WordTypeId.ColumnMapping = MappingType.Attribute;

				#endregion	WordTypeId
				#region		DerivatingWordTypeId

				DataColumn
				dataColumn__WordDerivating__DerivatingWordTypeId = dataTable__WordDerivating.Columns.Add("DerivatingWordTypeId", typeof(short));
				dataColumn__WordDerivating__DerivatingWordTypeId.AllowDBNull = false;
				dataColumn__WordDerivating__DerivatingWordTypeId.ColumnMapping = MappingType.Attribute;

				#endregion	DerivatingWordTypeId

				dataTable__WordDerivating.PrimaryKey = new DataColumn[] { dataColumn__WordDerivating__Id };

				#region		WordDerivating__Word

				dataSet.Relations.Add
				(
					"WordDerivating__Word",
					new DataColumn[]
					{
					dataColumn__Word__Id,
					dataColumn__Word__WordTypeId
					},
					new DataColumn[]
					{
					dataColumn__WordDerivating__Id,
					dataColumn__WordDerivating__WordTypeId
					}
				);

				#endregion	WordDerivating__Word
				#region		WordDerivating__DerivatingWordType

				dataSet.Relations.Add
				(
					"WordDerivating__DerivatingWordType",
					new DataColumn[]
					{
					dataColumn__DerivatingWordType__Id,
					dataColumn__DerivatingWordType__WordTypeId
					},
					new DataColumn[]
					{
					dataColumn__WordDerivating__DerivatingWordTypeId,
					dataColumn__WordDerivating__WordTypeId
					}
				);

				#endregion	WordDerivating__DerivatingWordType

				#endregion	WordDerivating (11C)
				#region		WordDerivated (Mode)

				DataTable dataTable__WordDerivated = dataSet.Tables.Add("WordDerivated");

				#region		Id

				DataColumn
				dataColumn__WordDerivated__Id = dataTable__WordDerivated.Columns.Add("Id", typeof(Int32));
				dataColumn__WordDerivated__Id.AllowDBNull = false;
				dataColumn__WordDerivated__Id.ColumnMapping = MappingType.Attribute;

				#endregion	Id
				#region		Origin

				DataColumn
				dataColumn__WordDerivated__Origin = dataTable__WordDerivated.Columns.Add("Origin", typeof(string));
				dataColumn__WordDerivated__Origin.AllowDBNull = false;
				dataColumn__WordDerivated__Origin.MaxLength = 1;
				dataColumn__WordDerivated__Origin.DefaultValue = "D";
				dataColumn__WordDerivated__Origin.ColumnMapping = MappingType.Attribute;

				#endregion	Origin
				#region		WordTypeId

				DataColumn
				dataColumn__WordDerivated__WordTypeId = dataTable__WordDerivated.Columns.Add("WordTypeId", typeof(Int16));
				dataColumn__WordDerivated__WordTypeId.AllowDBNull = false;
				dataColumn__WordDerivated__WordTypeId.ColumnMapping = MappingType.Attribute;

				#endregion	WordTypeId
				#region		DerivatedWordTypeId

				DataColumn
				dataColumn__WordDerivated__DerivatedWordTypeId = dataTable__WordDerivated.Columns.Add("DerivatedWordTypeId", typeof(short));
				dataColumn__WordDerivated__DerivatedWordTypeId.AllowDBNull = false;
				dataColumn__WordDerivated__DerivatedWordTypeId.ColumnMapping = MappingType.Attribute;

				#endregion	DerivatedWordTypeId
				#region		WordDerivatingId

				DataColumn
				dataColumn__WordDerivated__WordDerivatingId = dataTable__WordDerivated.Columns.Add("WordDerivatingId", typeof(Int32));
				dataColumn__WordDerivated__WordDerivatingId.AllowDBNull = false;
				dataColumn__WordDerivated__WordDerivatingId.ColumnMapping = MappingType.Attribute;

				#endregion	WordDerivatingId
				#region		DerivatingWordTypeId

				DataColumn
				dataColumn__WordDerivated__DerivatingWordTypeId = dataTable__WordDerivated.Columns.Add("DerivatingWordTypeId", typeof(short));
				dataColumn__WordDerivated__DerivatingWordTypeId.AllowDBNull = false;
				dataColumn__WordDerivated__DerivatingWordTypeId.ColumnMapping = MappingType.Attribute;

				#endregion	DerivatedWordTypeId
				#region		DerivatingId

				DataColumn
				dataColumn__WordDerivated__DerivatingId = dataTable__WordDerivated.Columns.Add("DerivatingId", typeof(short));
				dataColumn__WordDerivated__DerivatingId.AllowDBNull = false;
				dataColumn__WordDerivated__DerivatingId.ColumnMapping = MappingType.Attribute;

				#endregion	DerivatingId

				dataTable__WordDerivated.PrimaryKey = new DataColumn[] { dataColumn__WordDerivated__Id };

				#region		WordDerivated__Word

				dataSet.Relations.Add
				(
					"WordDerivated__Word",
					new DataColumn[]
					{
					dataColumn__Word__Id,
					dataColumn__Word__Origin,
					dataColumn__Word__WordTypeId
					},
					new DataColumn[]
					{
					dataColumn__WordDerivated__Id,
					dataColumn__WordDerivated__Origin,				/// contrainte de Mode = "D"
					dataColumn__WordDerivated__WordTypeId           /// Contrainte de (Derivated) WordType (in)
					}
				);

				#endregion	WordDerivated__Word
				#region		WordDerivated__DerivatedWordType

				dataSet.Relations.Add
				(
					"WordDerivated__DerivatedWordType",
					new DataColumn[]
					{
					dataColumn__DerivatedWordType__Id,
					dataColumn__DerivatedWordType__WordTypeId
					},
					new DataColumn[]
					{
					dataColumn__WordDerivated__DerivatedWordTypeId,	/// Contrainte de DerivatedWordType (in)
					dataColumn__WordDerivated__WordTypeId           /// Contrainte de (Derivated) WordType (out)
					}
				);

				#endregion	WordDerivated__DerivatedWordType
				#region		WordDerivated__WordDerivating

				dataSet.Relations.Add
				(
					"WordDerivated__WordDerivating",
					new DataColumn[]
					{
					dataColumn__WordDerivating__Id,
					dataColumn__WordDerivating__DerivatingWordTypeId
					},
					new DataColumn[]
					{
					dataColumn__WordDerivated__WordDerivatingId,	/// Contrainte de DerivatingWordType (in)
					dataColumn__WordDerivated__DerivatingWordTypeId
					}
				);

				#endregion	WordDerivated__WordDerivating
				#region		WordDerivated__WordDerivatingType_WordDerivatedType

				dataSet.Relations.Add
				(
					"WordDerivated__WordDerivatingType_WordDerivatedType",
					new DataColumn[]
					{
					dataColumn__DerivatingWordType_DerivatedWordType__DerivatingWordTypeId,	/// Contrainte de DerivatingWordType (out-in)
					dataColumn__DerivatingWordType_DerivatedWordType__DerivatedWordTypeId   /// Contrainte de DerivatedWordType (out-in)
					},
					new DataColumn[]
					{
					dataColumn__WordDerivated__DerivatingWordTypeId,
					dataColumn__WordDerivated__DerivatedWordTypeId
					}
				);

				#endregion	WordDerivated__WordDerivatingType_WordDerivatedType
				#region		WordDerivated__Derivating

				dataSet.Relations.Add
				(
					"WordDerivated__Derivating",
					new DataColumn[]
					{
					dataColumn__Derivating__Id,
					dataColumn__Derivating__DerivatingWordTypeId,	/// Contrainte de DerivatingWordType (out-in-out)
					dataColumn__Derivating__DerivatedWordTypeId     /// Contrainte de DerivatedWordType (out-in-out)
					},
					new DataColumn[]
					{
					dataColumn__WordDerivated__DerivatingId,
					dataColumn__WordDerivated__DerivatingWordTypeId,	/// Contrainte de DerivatingWordType (out-in-out)
					dataColumn__WordDerivated__DerivatedWordTypeId      /// Contrainte de DerivatedWordType (out-in-out)
					}
				);

				#endregion	WordDerivated__Derivating

				#endregion	WordDerivated (Mode)

				#endregion	[structure]
				#region		[saving xsd]

				dataSet.WriteXmlSchema("..\\..\\BabebiDataSet.xsd");

				#endregion	[saving xsd}
			}

			Console.WriteLine("Done create/save DataSet.");

			#region		load the dataSet with the xml file content.

			System.IO.DirectoryInfo directoryInfo = new System.IO.DirectoryInfo("..\\..\\Xmls");

			if (!directoryInfo.Exists)
			{
				throw new ApplicationException("Unable to find the 'Xmls' directory associated to the path: '" + directoryInfo.FullName + "'.");
			}

			string currentXmlFilesDirectoryFullName = directoryInfo.FullName;

			System.IO.FileInfo[] fileInfos = directoryInfo.GetFiles("BabebiDataSet*.xml");

			if (fileInfos.Length == 0)
			{
				throw new ApplicationException("The 'Xmls' directory (" + directoryInfo.FullName + ") does not contain any file.");
			}

			List<string> fileNames = new List<string>();
			foreach (System.IO.FileInfo fileInfo in fileInfos)
			{
				fileNames.Add(fileInfo.FullName);
			}
			fileNames.Sort();

			string lastXmlFileFullName = fileNames.Last();

			BabebiDataSet dataSetLoading = new BabebiDataSet()
			{
				Namespace = "Babebi4",
				CaseSensitive = true
			};

			dataSetLoading.ReadXml(lastXmlFileFullName);
			dataSetLoading.AcceptChanges();

			Console.WriteLine("Done load Dataset from XML.");

			#endregion	load the dataSet with the xml file content.

			#region		performance test

			DateTime dateTime1 = DateTime.Now;

			for (int i = 0; i < 1000000; i++)
			{
				BabebiDataSet.PatternRow p = dataSetLoading.Pattern.FindById(1);
			}

			DateTime dateTime2 = DateTime.Now;

			TimeSpan tsFind = dateTime2 - dateTime1;
			Console.WriteLine(tsFind.ToString());


			BabebiDataSet.WordOrPatternRow wop = dataSetLoading.WordOrPattern.FindBySubscriberCodeSubscriberId("P", 1);


			DateTime dateTime3 = DateTime.Now;

			for (int i = 0; i < 1000000; i++)
			{
				BabebiDataSet.PatternRow p = wop.GetPatternRows().First();
			}

			DateTime dateTime4 = DateTime.Now;

			TimeSpan ts11C = dateTime4 - dateTime3;
			Console.WriteLine(ts11C.ToString());
			Console.ReadLine();


			#endregion	performance test
			
		}
	}
}
