Linq To SQL - как иметь свойство не из таблицы, а из БД - PullRequest
1 голос
/ 14 октября 2008

Мы используем Linq To SQL с нашей собственной логикой контекста данных, которая выполняет один запрос linq для нескольких баз данных. Когда мы вернем результаты, нам понадобится база данных для каждой строки. Итак ...

Я хочу, чтобы в моем классе было свойство, которое будет возвращать имя базы данных (SQL Server, поэтому DB_NAME ()). Как я могу сделать это в Linq To Sql?

ПРИМЕЧАНИЕ. У нас есть сотни баз данных, и мы не хотим помещать представления в каждую базу данных. Возвращение должно возвращаться как просто другое свойство в каждой строке набора возвращаемых результатов.

Ответы [ 2 ]

2 голосов
/ 24 октября 2008

В файле XML DBML вы можете установить для атрибута Expression элемента Column следующее:

 <Column Name="Table1.DBName" 
         DbType="nvarahcar(128)" 
         Type="System.String" 
         Expression="DB_NAME()" />
0 голосов
/ 24 октября 2008

Как вы перебираете разные базы данных? Не могли бы вы просто включить информацию из контекста в запрос? Например:

Dim results = _
    From x In myContext.MyTables _
    Select x, info = myContext.Connection.ConnectionString
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...