Скажем, у вас есть база данных:
База данных D содержит таблицы A, B, C, X, Y, Z, где
- Таблица A имеет внешний ключ
связь с таблицами B и C
- Таблица X имеет внешний ключ
связь с таблицами Y и Z
- Таблица X также имеет отношение внешнего ключа с таблицей A
Скажем, у вас есть 2 DBML-файла P и Q на основе базы данных D
- DBML-файл P содержит объекты A ', B'
и C ', где A' связан с B '
и C 'через ассоциации.
- Файл DBML Q
содержит объекты X ', Y' и Z ', где
X 'связан с Y' и Z 'через
ассоциации.
AFAIK, DBML-файлы P и Q не могут содержать связь между объектами A 'и X'. Это самая большая проблема с несколькими файлами DBML.
На мой взгляд, файл DBML отражает модель данных, представленную таблицами, и ограничения для этих таблиц в базе данных. Если некоторые наборы или ограничения отсутствуют в наборе файлов DBML, то набор файлов DBML не точно отражает базовую базу данных.
Возвращаясь к нашему примеру, если в базе данных D не было связи между таблицами A и X, можно было бы создать 2 файла DBML.
Вообще говоря, можно иметь несколько файлов DBML, если каждый файл DBML содержит все связанные сущности и отношения. Обратите внимание, что обратное не является проблемой, то есть можно иметь один файл DBML, содержащий несколько групп сущностей, которые не связаны друг с другом какими-либо ассоциациями.