Meine Entitäten folgen einem Muster, bei dem jede Tabelle sowohl einen int-Primärschlüssel (wird für Beziehungen verwendet) als auch eine Guid-Spalte (wird als eindeutige externe Kennung verwendet) hat.
Code: Select all
public class Employee
{
public int Id { get; set; }
public Guid GuidId { get; set; }
public int GenderId { get; set; }
public int DepartmentId { get; set; }
}
public class Gender
{
public int Id { get; set; }
public Guid GuidId { get; set; }
public string Name { get; set; }
}
public class Department
{
public int Id { get; set; }
public Guid GuidId { get; set; }
public string Name { get; set; }
}
Beim Einfügen eines Mitarbeiters enthält die Anforderungsnutzlast GUIDs für verwandte Entitäten:
Code: Select all
{
"firstName": "John",
"genderId": "f8b8120a-6b8c-43b8-b47f-5c43d6c3a5b2",
"departmentId": "a41cf2cd-19b9-45c4-b1c3-2a9d24b79b9e"
}
Code: Select all
var genderId = await _unitOfWork.GeneralReferenceRepo.GetIdByGuid(request.GenderId);
var departmentId = await _unitOfWork.DepartmentRepo.GetIdByGuid(request.DepartmentId);
Ich habe Folgendes gelesen:
- Die Verwendung von int für Fremdschlüssel verbessert die Leistung und Indexgröße
- Die Verwendung von Guid für die API-Offenlegung verbessert den Datenschutz
Mobile version