Как объединить несколько таблиц с помощью linq с помощью свободного nHibernate (левое соединение)?C#

Место общения программистов C#
Ответить
Anonymous
 Как объединить несколько таблиц с помощью linq с помощью свободного nHibernate (левое соединение)?

Сообщение Anonymous »


Это классы моей предметной области:

Файл общедоступного класса { общественный виртуальный длинный LFD {get; набор; } общедоступный виртуальный длинный AK_KEY_PE_WERBER {get; набор; } общедоступный виртуальный длинный AK_KEY_PE_RECHT {get; набор; } //некоторые другие свойства } Сотрудник общественного класса { общественный виртуальный длинный LFD {get; набор; } //некоторые другие свойства } Это классы сопоставления:

публичный класс FileMap: ClassMap { публичная карта файлов() { Id(x => x.LFD); Карта(х => x.AK_KEY_PE_WERBER); //некоторые другие поля } } общедоступный класс EmployeeMap: ClassMap { общественный МИТАРБЕЙТЕРМап() { Id(x => x.LFD); //некоторые другие поля } } База данных содержит:

Файлы:

ЛФД: 1 AK_KEY_PE_WERBER: ноль

ЛФД: 2 AK_KEY_PE_WERBER: 1

Сотрудники:

ЛФД: 1

Поэтому я хочу создать выборку, которая получит все файлы и, если возможно, объединит их с сотрудником.

Я пробовал:

var contentQuery = (из файла в DBSession.Query() присоединиться к werb в DBSession.Query() в файле AK_KEY_PE_WERBER равно werb.LFD выбрать новый { Файл = файл, Рехт = глагол, }).К списку(); Debug.WriteLine(contentQuery.Count); Но это возвращает только те файлы, в которых AK_KEY_PE_WERBER не равно нулю. Таким образом, счетчик равен 1 вместо 2.

Я пробовал:

var contentQuery = (из файла в DBSession.Query() присоединиться к werb в DBSession.Query() в файле AK_KEY_PE_WERBER равен werb.LFD в werbJoin выбрать новый { Файл = файл, Рехт = werbJoin.FirstOrDefault(), }).К списку(); Но это вызывает исключение NotImplementedException.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»