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


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

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

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

например, я хотел бы AddOrUpdate на основе сопоставления имен и фамилий.

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

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

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

2 100

2 ответа:

попробуйте это:

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

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