Как объединить несколько таблиц с помощью linq с помощью свободного nHibernate (левое соединение)? ⇐ C#
Как объединить несколько таблиц с помощью linq с помощью свободного nHibernate (левое соединение)?
Это классы моей предметной области:
Файл общедоступного класса { общественный виртуальный длинный 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.
Это классы моей предметной области:
Файл общедоступного класса { общественный виртуальный длинный 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.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Получение данных из более чем 50 таблиц с использованием Linq-to-Nhibernate
Anonymous » » в форуме C# - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-