public static EncounterLayer_MDD InsertOrUpdateEncounterLayer(this MetadataDatabase mdd, EncounterLayer encounterLayer)
 {
     mdd.Execute("INSERT OR REPLACE INTO EncounterLayer (EncounterLayerID, MapID, Name, FriendlyName, Description, BattleValue, ContractTypeID, EncounterLayerGUID, TagSetID, IncludeInBuild) values(@EncounterLayerID, @MapID, @Name, @FriendlyName, @Description, @BattleValue, @ContractTypeID, @EncounterLayerGUID, @TagSetID, @IncludeInBuild)", new {
         EncounterLayerID   = encounterLayer.EncounterLayerId,
         MapID              = encounterLayer.MapId,
         Name               = encounterLayer.Name,
         FriendlyName       = encounterLayer.FriendlyName,
         Description        = encounterLayer.Description,
         BattleValue        = encounterLayer.BattleValue,
         ContractTypeID     = encounterLayer.ContractTypeId,
         EncounterLayerGUID = encounterLayer.EncounterLayerGuid,
         TagSetID           = encounterLayer.TagSetId,
         IncludeInBuild     = encounterLayer.IncludeInBuild
     }, null, null, null);
     return(mdd.SelectEncounterLayerByID(encounterLayer.EncounterLayerId));
 }