Ich habe eine Tabelle mit folgenden Spalten:
ContractorId ......... INT ............. IDENTITY
ContractorName ........ Varchar (50) ....... P.K
ContractorGrade ....... Varchar (3) ....... P.K
Die von PetaPoco T4 generierte Klasse sieht folgendermaßen aus:
%Vor%Der Code zum Einfügen eines neuen Datensatzes lautet wie folgt:
%Vor%In der zweiten Zeile des Klassencodes möchte ich wissen, wie man einen zusammengesetzten Schlüssel nennt, der (ContractorName + ContractorGrade) ist.
Zweitens fügt es keinen Datensatz ein, weil es eine ID-Spalte erwartet. Obwohl ContractorId IDENTITY ist, handelt es sich nicht um einen Primärschlüssel.
Es fügt keinen neuen Datensatz ein und gibt einen Fehler, weil 0 in die IDENTITY-Spalte eingefügt wird.
Ich kann sehen, dass es jetzt den CompositeKeySupport-Zweig gibt, also haben wir gute Chancen, dass dies unterstützt wird in der offiziellen Repo bald, was bedeutet, dass wir NuGet Updates und Zeug bekommen.