Недавно я столкнулся с ситуацией, когда у меня был библиотечный проект, который выполнял операции над определенными таблицами в базе данных.Я использовал SqlMetal для генерации файла кода DataContext (я не беспокоился о файле dbml, хотя не думаю, что это повредит).
Затем я создал приложение, которое использовало эту библиотеку.Это приложение выполняло операции с теми же таблицами, что и библиотека, но также добавило несколько других таблиц (которые либо ссылались на таблицы, используемые библиотекой, либо ссылались друг на друга).Я использовал SqlMetal для генерации файла кода DataContext для приложений.Итак, теперь у меня было два разных DataContexts для одной и той же базы данных.
Когда я все сложил, я немного волновался, но это работало как очарование.Несмотря на то, что и библиотека DataContext, и приложение DataContext обращались к одной и той же базе данных с использованием разных объектов подключения (но с одной и той же строкой подключения), заметных проблем не было.не подходит для крупномасштабного приложения, но это не было проблемой в этой ситуации.Я должен отметить, что я всегда стараюсь использовать ключевое слово using
каждый раз, когда я выполняю операцию над DataContext, чтобы убедиться, что соединения расположены правильно.
Примечание: я не использовал sprocs, только стандартныевыберите, вставьте, обновите, удалите, но я думаю, вы получите аналогичные результаты, используя sprocs.