Поле первинного ключа (шаблон проєктування)

Поле первинного ключа (англ. Identity Field) — шаблон проєктування, який пропонує зберігати ідентифікатор запису бази даних в об'єкті для підтримки відповідності між об'єктом і записом.

Опис[ред. | ред. код]

Реляційні бази даних відрізняють записи один від одного за допомогою первинного ключа. Для роботи аплікації дане поле не потрібне, оскільки система сама слідкує за об'єктами. Хоч під час читання не виникає проблем, для збереження сутності потрібна прив'язка об'єкта до сховища.

Все що потрібно зробити, це зберігати ключ зі сховища в об'єкті.

Реалізація[ред. | ред. код]

Ключ може бути представлений у вигляді примітивного типу.

class Product {         public int Id { get; set; } } 

У якості ключа можуть виступати набір полів. Наприклад у проміжних таблицях при реалізації відношення "багато до багатьох" немає потреби виділяти окреме поле під ключ.

class AuthorBook {         public int AuthorId { get; set; }         public int BookId { get; set; } } 

Також ключ може бути представлений окремим об'єктом.

class UserIdentifier {         public string FirstName { get; set; }         public string LastName { get; set; }  } class User {         public UserIdentifier Id { get; set; } } 

Див. також[ред. | ред. код]

Джерела[ред. | ред. код]