Показать сообщение отдельно
Старый 02.12.2017, 00:11   #1  
Blog bot is offline
Blog bot
Участник
 
25,475 / 846 (79) +++++++
Регистрация: 28.10.2006
stoneridgesoftware: How to X++ Code Search Using Dynamics AX Model Database
Источник: https://stoneridgesoftware.com/how-t...odel-database/
==============

If you started your development career in Visual Studio and then had to switch to MorphX IDE, one of the features you probably miss is ‘Find in Entire Solution’.

In Visual Studio, the ‘Find’ functionality is very robust – allowing us to search and/or replace in the entire Visual Studio Solution via keywords, matching case, matching whole word and even allowing us to use regular expressions.



In MorphX IDE, the ‘Find’ functionality is ‘decent’ and works best if you are searching within an object, like a Class or Table, but if you want to find something across all objects – meaning the entire AOT, it’s probably going to take a long time to search. I lost my patience after waiting for couple hours for the search below to finish…



‘What If’ you could query the Dynamics AX Model Database to find a string across all objects? Well, using the simple SQL Query below, you can:

SELECT RootHandle.Name RootElementName, ElementHandle.Name ElementName, ElementTypes.ElementTypeName Type, CAST(Sources.SourceText AS nvarchar(MAX)) SourceTextFROM Sources Sources JOIN ModelElement ElementHandle ON Sources.SourceHandle = ElementHandle.ElementHandle JOIN ModelElement RootHandle ON RootHandle.ElementHandle = ElementHandle.RootHandle JOIN ElementTypes ElementTypes ON ElementTypes.ElementType = ElementHandle.ElementTypeWHERE CAST(Sources.SourceText AS nvarchar(MAX)) LIKE '%FDD-003%'

The query results took ~26 seconds to find the 7 objects where ‘FDD-003’ is mentioned.




The ‘Where’ clause in the query above can be modified to better fit the text comparison you are looking for, using one of the following SQL operators: =, , >, >=,
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.