Вы не можете. Отношение один-к-одному в настоящее время поддерживается, только если зависимый объект имеет FK для основного объекта в качестве своего первичного ключа. Это означает, что Configuration.Id
- это PK Configuration
, но также и FK до Company.Id
.
Причина, по которой вы не можете использовать CompanyId
, заключается в том, что база данных потребует от нее использования уникального индекса (иначе это будет не отношение один к одному, а один ко многим), а EF в настоящее время не поддерживает уникальные индексы. ,
Edit:
Извините. Теперь я лучше понимаю ваш вопрос. Если вы знаете идентификатор компании и хотите добавить новую конфигурацию, вы можете попробовать сделать что-то вроде этого:
var company = new Company { Id = companyId };
context.Companies.Attach(company); // Existing company, EF know thinks it was loaded from DB
var configuration = new Configuration { Company = company }; // Create relation with existing company. It must not be related to other configuration!
context.Configurations.Add(configuration);