У меня есть модель для заказов. Они оба являются ключами и не могут быть дублированы. Я установил OrderId
как Identity
в Map
класс. Как вставить новую строку со сложным ключом, когда один столбец идентичен, а другой нет?
class Order {
public int OrderId {get;set;}
public int OrderNumber {get;set;}
...
}
Теперь нужно создать новый ORDERNUMBER, чтобы вставить строку. Я знаю, что в SQL я могу обернуть транзакцию и сделать MAX(OrderNumber) + 1
, но как я могу это сделать в Entity Framework?
Почему, для чего это служит? Почему бы не использовать 'OrderId' вместо этого? – Igor
@Igor Я хочу группировать заказы на 'OrderNumber' и хочу избежать возможных дубликатов, когда создаются разные заказы. –
1. Вы указали выше, что OrderNumber уникален, поэтому вы не можете упорядочить заказ по номеру заказа в соответствии с приведенным выше объяснением. 2. Использование идентификатора гарантирует уникальность внутри этой таблицы, поэтому я не вижу смысла иметь OrderNumber. Вам не хватает чего-то в объяснении? – Igor