Подтвердить что ты не робот

Как загрузить данные с помощью AddOrUpdate с помощью сложного ключа в EF 4.3

Я пытаюсь засеять базу данных разработки некоторыми тестовыми данными.

Я использовал context.People.AddOrUpdate(p => p.Id, people)); с большим успехом.

У меня есть другая таблица, которую мне нужно засеять, в которой я бы не знал первичный ключ.

Например, я хотел бы добавить AddOrUpdate на основе соответствия First и Last.

Я не уверен, как правильно писать выражение.

context.People.AddOrUpdate(p => p.FirstName && p.LastName, people);

очевидно, неверен, но я надеюсь, что он передает решение, которое я ищу.

4b9b3361

Ответ 1

Попробуйте следующее:

context.People.AddOrUpdate(p => new { p.FirstName, p.LastName }, people);

Ответ 2

Если вы получили Only primitive types or enumeration types are supported in this context. из-за использования свойства навигации - рассмотрите возможность добавления свойства внешнего ключа непосредственно к сущности (возможно, только с помощью getter) и используйте его в качестве предложения Ladislav Mrnka.