Business Central Internals: Package ID, Extensions

rcverbeek
Member Posts: 32
Hi,
I am just getting into Business Central and created some extensions. I wanted to check how the metadata was stored in SQL Server and this led to some (probably basic) questions. I hope you can help me out:
My extension has some ID and it can be queried in the Nav App table. This table has primary key Package ID. So why having this field as the primary key rather than the id of the app? Whats the concept of a package?
I have created a tableextension, extending the Item table. In the database a new table has been created: CRONUS Nederland BV$Item$ebfba8ec-1841-47db-8aa4-4b4124eb869f with the suffix being my app id. So I can see there is a relation between the Item table of the Base Application and my extension. But how does BC finds out that when loading the Item table, that a certain extension to it exists? I kind of expected there to be an internal table that directly links the base table to this table extension. For instance in the NAV App Object Metadata table. So how does BC go around this?
Thanks!
I am just getting into Business Central and created some extensions. I wanted to check how the metadata was stored in SQL Server and this led to some (probably basic) questions. I hope you can help me out:
My extension has some ID and it can be queried in the Nav App table. This table has primary key Package ID. So why having this field as the primary key rather than the id of the app? Whats the concept of a package?
I have created a tableextension, extending the Item table. In the database a new table has been created: CRONUS Nederland BV$Item$ebfba8ec-1841-47db-8aa4-4b4124eb869f with the suffix being my app id. So I can see there is a relation between the Item table of the Base Application and my extension. But how does BC finds out that when loading the Item table, that a certain extension to it exists? I kind of expected there to be an internal table that directly links the base table to this table extension. For instance in the NAV App Object Metadata table. So how does BC go around this?
Thanks!
0
Best Answer
-
I do not know a specific answer since I've not researched this. But you can try comparing what you see in SQL to your app.json file, and then open the BC Administration Shell (as administrator) and use the command Get-NAVAppInfo to get details about installed extensions.
As for the internals of how table extensions work, you are correct that the extension is a separate SQL table. But unlike older NAV versions, there isn't also a SQL view that joins the base table with the table extension. That join appears to be handled directly by the service tier.Kyle Hardin - ArcherPoint5
Answers
-
I do not know a specific answer since I've not researched this. But you can try comparing what you see in SQL to your app.json file, and then open the BC Administration Shell (as administrator) and use the command Get-NAVAppInfo to get details about installed extensions.
As for the internals of how table extensions work, you are correct that the extension is a separate SQL table. But unlike older NAV versions, there isn't also a SQL view that joins the base table with the table extension. That join appears to be handled directly by the service tier.Kyle Hardin - ArcherPoint5
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions