powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / DataContext.GetTable не находит таблицу.
7 сообщений из 7, страница 1 из 1
DataContext.GetTable не находит таблицу.
    #37543591
Erik_Kartmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начну сначала. есть три базы на склсервере. допустим А,B,C.

Есть рабочий запрос вида:
Код: plaintext
1.
2.
3.
from a in dc1.TableA
join b in dc1.GetTable<TableB>() on a.id equals b.id
select new { a, b }
TableA ,например, находится в базе A, TableB в B

запрос выполняется.
добавляю TableC из базы C,
join с in dc1.GetTable<TableС>() on b.id equals c.id

запрос не выполняется. пишет ошибку:
авторInvalid object name 'dbo.TableС'
У пользователя права на селект есть, тестовый скл запрос из трёх таблиц под его учёткой выполняется.
---------------------------------------------------------
SET @@verSION = 'Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86) Feb 9 2007 22:47:07 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition on Windows NT 6.0 (Build 6002: Service Pack 2) '
...
Рейтинг: 0 / 0
DataContext.GetTable не находит таблицу.
    #37543699
Erik_Kartmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я в отладчике смотрю сгенерированный скл код, почему в одном случае пишется префикс базы, а в другом - не пишется?
В селектах находятся просто таблицы, а не база.dbo.таблица ?

var ret = from su in dc1.TableA
join req in dc1.GetTable<TableB>() on su.id equals req.id

если в отладчике стать на ret - покажет скл код, где .... join B.dbo.TableB on .....
А когда джойню таблицу TableC - префикс базы не пишет.
даже не знаю, эти 2 куска кода ничем не отличаются. Пробовал из под роли сисадмина запускать. Ничего.
...
Рейтинг: 0 / 0
DataContext.GetTable не находит таблицу.
    #37543727
Erik_Kartmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
понял, в чём проблема.
...
Рейтинг: 0 / 0
DataContext.GetTable не находит таблицу.
    #37543742
Erik_Kartmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в Source dbml файлика студия по умолчанию пишет dbo.TableName. нужно имя базы дописывать.
А как это имя базы брать из датаконтекста? Вдруг понадобится возможность, чтобы пользователь сам выбирал имя таблицы?
...
Рейтинг: 0 / 0
DataContext.GetTable не находит таблицу.
    #37543807
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имя базы обычно прописывается в ConnectionString
...
Рейтинг: 0 / 0
DataContext.GetTable не находит таблицу.
    #37543901
Erik_Kartmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну понятно, а как в каждой дбмл таблице прописать имя базы в сорсе?
...
Рейтинг: 0 / 0
DataContext.GetTable не находит таблицу.
    #37544717
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уже было... пока ни как... Нет поддержки кросс датабазности. Ворк ароунд - вьюхи процедуры, для БД поддерживающих синонимы - синонимы... CREATE SYNONYM dbo.Towns FOR OtherDb.dbo.Towns
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / DataContext.GetTable не находит таблицу.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]