Как включить только одно свойство связанного объекта? (EF Core 2.1.1) [дубликат]

У меня была аналогичная ошибка при создании внешнего ключа в таблице Many to Many, где первичный ключ состоял из 2 внешних ключей и другого нормального столбца. Я исправил проблему, исправляя имя таблицы ссылок, т. Е. Компанию, как показано в скорректированном коде ниже:

create table company_life_cycle__history -- (M-M)
(
company_life_cycle_id tinyint unsigned not null,
Foreign Key (company_life_cycle_id) references company_life_cycle(id) ON DELETE    CASCADE ON UPDATE CASCADE,
company_id MEDIUMINT unsigned not null,
Foreign Key (company_id) references company(id) ON DELETE CASCADE ON UPDATE CASCADE,
activity_on date NOT NULL,
PRIMARY KEY pk_company_life_cycle_history (company_life_cycle_id, company_id,activity_on),
created_on datetime DEFAULT NULL,
updated_on datetime DEFAULT NULL,
created_by varchar(50) DEFAULT NULL,
updated_by varchar(50) DEFAULT NULL
);
-4
задан Giovanni Rivas 14 March 2018 в 22:14
поделиться

1 ответ

Это невозможно в Entity Framework. Вы либо включаете всю таблицу (с Include, как вы это делаете), либо вообще не включаете ее. Если вы хотите загрузить только определенные столбцы, вы можете сделать это, но посмотрите, как это ручной процесс:

Context
    .Select(i => new YourType
    {
        c = i.l,
        l = i.l,
        x = new X 
        {
            a = i.x.a // only the properties you want here
        }
        ...
    });

В тот момент, когда вы используете Select, Include полностью игнорируется, поэтому вы не можете используйте оба.

1
ответ дан Camilo Terevinto 16 August 2018 в 02:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: