Allen Funktionen, denen bisher der Dateipfad des Projekts übergeben wurde, wird stattdessen die Repository-ID übergeben:
// Ohne Repository-Modus:
LL.Design(LlProject.List, "C:\Reports\Invoice.lst")
// Mit Repository-Modus – gilt auch für Export() bzw. Print():
LL.FileRepository = new MyCustomRepository(…);
LL.Design(LlProject.List, "repository://{53F875F0-6177-8AD5-01B44E3A9867}")
Aus "Dateien" werden im Repository-Modus "Repository-Items" und aus den Dateinamen werden "Repository-IDs". Jedes Repository-Item besitzt neben der ID einen Typ, einen Zeitstempel und einen Descriptor (String mit variabler Länge, der interne Informationen enthält). Ihre Repository-Implementierung muss neben dem Dateiinhalt also mindestens diese vier Informationen für jedes Repository-Item speichern und abrufen können.
Sie finden eine einfache Repository-Implementierung in den ASP.NET-Beispielprojekten (Klasse SQLiteFileRepository), die ein Repository mit einer SQLite-Datenbank als Datenspeicher bereitstellt.
Detailliertere Beschreibungen der zu implementierenden Methoden im IRepository-Interface entnehmen Sie bitte der .NET-Onlinehilfe (combit.ListLabel29.chm).