Много на ноль или одно отношение - PullRequest
0 голосов
/ 04 июня 2019

У меня есть сущность / таблица purchases. Эта таблица имеет customerId. У меня есть еще один стол customers. Эта таблица имеет customerId.

У одного клиента может быть несколько покупок. Но эта БД - это только представление / представление основной базы данных. Что означает, что клиенты могут или не могут присутствовать. Но покупка при наличии всегда будет иметь customerId. Который, возможно, еще не имеет соответствующего клиента в таблице.

Я хочу прочитать Purchases, используя EF6 с информацией о клиенте, если она есть, или просто нулевой.

Как мне установить это в EF6?

Как только я добавляю customerId / Customer к покупкам, EF создает внешний ключ и предотвращает вставку покупок там, где покупателя нет. Я хочу, чтобы эти две таблицы были независимыми и заполняли покупателя только при наличии.

Есть идеи?

1 Ответ

0 голосов
/ 04 июня 2019

Необходимо заполнить поле customerId в таблице purchase Nullable.

Если вы используете EF Code First подход:

public int? CustomerId { get; set; }
public virtual Customer Customer { get; set; }

В противном случае измените его вСхема базы данных и перезагрузите модель EF:

ALTER TABLE purchase ALTER COLUMN customerId INT NULL

Конечно, если вы не используете INT в качестве типа для ID, измените его соответствующим образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...