Яка різниця між додаванням і приєднанням у Entity Framework?

0 Comments

Додавання завжди переводить сутності в стан Додано, навіть якщо встановлено ключ. Методи Attach переводять сутності з ключами в стан Unchanged. Це полегшує «вставте, якщо новий, інакше залиште». Методи оновлення переводять сутності з ключами в стан Modified. 12 січня 2022 р

Add використовується, щоб повідомити Entity Framework про нові сутності, DbSet. Attach використовується, щоб повідомити Entity Framework про існуючі сутності. Метод Attach позначає сутність у стані Unchanged.

Додати означає вказати Entity Framework, що ми хочемо вставити новий запис у базу даних. Навпаки, Entry та Attach використовуються в сценаріях, коли запис уже існує в базі даних, і ми просто хочемо внести в нього певні зміни. var attach = context.

Прикріпити використовується для повторно заповнити контекст сутністю, яка, як відомо, вже існує в базі даних. Тому SaveChanges не намагатиметься вставити прикріплену сутність до бази даних, оскільки передбачається, що вона вже там є.

Між двома підходами немає істотної різниці в продуктивності. Це відрізняється від EF6, де AddRange і Add автоматично викликають DetectChanges, але багаторазовий виклик Add спричиняє виклик DetectChanges кілька разів замість одного. Це зробило AddRange більш ефективним у EF6.

дієслово (вживається з додатком) закріплювати або прикріплювати; приєднатися; підключити: щоб прикріпити фотографію до програми за допомогою степлера. Синоніми: приєднати, додати, додати, підключити. Антоніми: від'єднати.