2016-09-19 2 views
0

При использовании метода в классе миграции как это:миграции: DbSet <T> .AddOrUpdate проблемы

DbSet<T>.AddOrUpdate(new Instance(){}); 

метод просто генерировать вставки T-SQL, и я получаю одно исключение, потому что строка имеет существует в Таблица.

метод slibing в классе миграции, как это:

DbSet<T>.AddOrUpdate(p=>p.name,new Instance(){}): 

Я не могу преобразовать это в моем моде (таблица имеет один присоединиться индекс (COLUMN1, Столбец2)).

теперь мой вопрос: как использовать метод

public static void AddOrUpdate<TEntity>(
    this IDbSet<TEntity> set, 
    Expression<Func<TEntity, Object>> identifierExpression, 
    params TEntity[] entities 
)where TEntity : class 

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

ответ

1

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

DbSet<T>.AddOrUpdate(new Instance(){}); 

Если вы используете вместо этого:

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

Спасибо !!!! Я просто прихожу к компании, я еще этого не пробовал, но ваша мода настолько креативна, что я никогда не думал об этом, я думал об аранжировке, списке и т. Д. Я попробую вашу модель как можно скорее. еще раз спасибо. –

+0

Позвольте мне поцеловать. –

+0

Почему бы тебе не поцеловать меня? –

Смежные вопросы