Вопрос Entity framework - добавить сущность
Пользовательская таблица:
Идентификатор пользователя (ПК)
имя пользователя
CompanyID (FK NOT NULL)
Таблица компании:
CompanyID (PK)
Название организации
модель entity framework (v3. 5) генерируется следующим образом :
public class User { public string UserID; public string UserName; public Company company; } public class Company { public string CompanyID; public string CompanyName; }
Вы можете видеть, что в классе User нет поля CompanyID.Затем как добавить нового пользователя в базу данных.
Что я уже пробовал:
Company c = new Company(); c.CompanyID = "..."; User u = new User(); ... u.company = c; DBContext.AddUsers(u); DBContext.SaveChanges();
это приведет к тому, что EF сначала добавит новую компанию в базу данных, что в конечном итоге приведет к исключению дубликата ключа.
я попытался настроить свойство "внешний ключ", как версии Entity Framework, но потерпел неудачу.
Richard Deeming
Выберите существующую компанию из базы данных и установите для нее компанию пользователя.
Matrimony
это единственный способ сделать это? у меня уже есть CompanyGUID, я не хочу подключать базу данных, чтобы получить объект компании. мне это не нужно
Richard Deeming
В более поздних версиях Entity Framework вы можете настроить свойство "внешний ключ", которое позволит вам это сделать.
Отношения Entity Framework и свойства навигации[^]
Вам нужно будет посмотреть, сможете ли вы сделать это в той версии, которую вы используете, или если вы можете обновить ее до более поздней версии.
Matrimony
Я пробовал, но это не сработало.
Richard Deeming
Затем обновите свой вопрос, чтобы показать, что вы пробовали и что пошло не так.
Matrimony
сделано.