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!
0
Answers
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.