Мы используем SQL Server, и приложение разработано с DBML . Теперь из-за функциональности нетерпеливой загрузки у меня возникла проблема. У меня есть таблица A , которая связана с таблицей B . ( A -> B ). Теперь, когда я пытаюсь загрузить таблицу A, он получит все поля таблицы B. Culprit таков, что таблица B имеет 2-3 столбца, которые очень тяжелые, содержат данные byte array
, и из-за этих столбцов это занимает слишком много нагрузки также для получения данных таблицы А.
Вопрос
Могу ли я иметь такой способ, что я могу загрузить только несколько столбцов (не все столбцы) таблицы B, когда я получаю таблицу A?
Что я пробовал
Я получаю эту ошибку:
Указанное выражение должно иметь форму p.A, где p - это
параметр и A - это свойство или член поля.
когда я попробовал с кодом ниже -
DataContext2.DeferredLoadingEnabled = false;
DataLoadOptions options = new DataLoadOptions();
options.LoadWith<A>(x => x.Campaign);
options.LoadWith<A>(x => x.AnotherTable);
options.LoadWith<A>(x => x.B.Select(o => new B
{
Id = o.Id,
Name = o.Name,
Person = o.Person,
}).ToList());
DataContext2.LoadOptions = options;