Wie genau verarbeitet ServiceStack Ormlite standardmäßige und berechnete Spalten?ServiceStack OrmLite - Behandeln von Standardspalten und berechneten Spalten
Ich erhalte Insbesondere die Fehler
The column "PointsAvailable" cannot be modified because it is either a computed column or is the result of a UNION operator.
Diese Spalte als eine berechnete Spalte in einer SQL Server 2008-Datenbank konfiguriert ist.
OrmLite scheint etwas mit berechneten Spalten zu tun, da Sie das Attribut '[ServiceStack.DataAnnotations.Compute]' zu einer Eigenschaft in einem Modell hinzufügen können.
Beim Einstieg in den Code wird die Funktion 'ToInsertRowStatement' in 'OrmLiteDialetBase.cs' aufgerufen. Während diese Funktion überprüft, ob die AutoIncrement-Eigenschaft festgelegt ist, prüft sie nicht, ob die IsComputed-Eigenschaft festgelegt ist.
Ich weiß nicht, ob das ein Fehler ist oder wenn ich es nur falsch benutze.
Ich würde versuchen, einen Check für IsComputed hinzuzufügen. Wenn das Problem dadurch behoben wird, erstellen Sie eine Pull-Anforderung auf github mit dem Bugfix. ServiceStack ist ein gut entwickeltes Programm, daher ist es unwahrscheinlich, dass es mehrere Stellen gibt, an denen diese Überprüfung stattfinden könnte. – theMayer
Um meinen vorherigen Kommentar zu verdeutlichen, würden Sie dies im Quellcode tun und dann die Binärdatei neu kompilieren. Sollte nicht länger als ca. 5 Minuten dauern. – theMayer