In Linq2Sql you can connect a data context to multiple databases by just adding the database name to the source.ADO.Net Entity Framework для нескольких баз данных
Есть ли способ достичь этого в Linq 2 Entities/ADO.net Entity Framework? Может ли имя базы данных быть добавлено в имя таблицы?
Я попытался изменить 'схему' от DBO к MyDatabase.dbo, но EF инкапсулирует это в
SELECT FROM [MyDatabase.dbo].[MyTable]
Trickery как изменение 'схемы' в 'MyDatabase]. [DBO' будут экранированы в
SELECT FROM [MyDatabase]].[dbo].[MyTable]
(Имейте в виду два ]]
.)
Вид Работает только хорошо, если каждый бит находится на одном сервере базы данных, иначе вы перейдете на перекрестку db. В sql 2005+ я считаю, что синоним может работать, но я не 100%. Что касается изменений, которые были потеряны, если вы прекратили использовать дизайн и отредактировали четыре файла вручную, это перестает быть проблемой. – NikolaiDante
Я попытался изменить атрибут Schema из dbo в, например, OtherDatabase.dbo, безрезультатно. После этих изменений запросы вызывают исключение «недопустимое имя объекта OtherDatabase.dbo.MyTable». – Sam
Nath, вам нужно будет использовать связанный сервер (с EF или LINQ-to-SQL), если на другом сервере. Сэм, попробуйте подход VIEW. –