Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anmärkning
Klassen DataSet och relaterade klasser är äldre .NET Framework-tekniker från början av 2000-talet som gör det möjligt för program att arbeta med data i minnet medan apparna kopplas från databasen. Teknikerna är särskilt användbara för appar som gör det möjligt för användare att ändra data och spara ändringarna tillbaka till databasen. Även om datauppsättningar är en bevisad framgångsrik teknik är den rekommenderade metoden för nya .NET-program att använda Entity Framework Core. Entity Framework är ett mer naturligt sätt att arbeta med tabelldata som objektmodeller och har ett enklare programmeringsgränssnitt.
Validering av entitetsklasser är en process för att bekräfta att de värden som anges i dataobjekten uppfyller begränsningarna i ett objekts schema och även de regler som har upprättats för programmet. Att verifiera data innan du skickar uppdateringar till den underliggande databasen är en bra idé som minskar felen. Det minskar också det potentiella antalet tur- och returresor mellan ett program och databasen.
LINQ till SQL-verktygen i Visual Studio innehåller partiella metoder som gör det möjligt för användare att utöka den designergenererade kod som körs under Infogningar, uppdateringar och borttagningar av fullständiga entiteter, och även under och efter enskilda kolumnändringar.
Anmärkning
Det här avsnittet innehåller de grundläggande stegen för att lägga till validering i entitetsklasser med hjälp av O/R Designer. Eftersom det kan vara svårt att följa dessa allmänna steg utan att referera till en specifik entitetsklass tillhandahålls en genomgång som använder faktiska data.
Lägga till validering för ändringar i värdet i en specifik kolumn
Den här proceduren visar hur du verifierar data när värdet i en kolumn ändras. Eftersom valideringen utförs i klassdefinitionen (i stället för i användargränssnittet) genereras ett undantag om värdet gör att verifieringen misslyckas. Implementera felhantering för koden i ditt program som försöker ändra kolumnvärdena.
Anmärkning
Anvisningarna i den här artikeln illustrerar den senaste versionen av den interaktiva utvecklingsupplevelsen (IDE) som är tillgänglig i Visual Studio. Datorn kan visa olika namn eller platser för vissa av användargränssnittselementen. Du kanske använder en annan version av Visual Studio eller andra miljöinställningar. Mer information finns i Anpassa IDE-.
Verifiera data under en kolumns värdeändring
Öppna eller skapa en ny LINQ till SQL-klassfil (
.dbmlfil) i O/R Designer. (Dubbelklicka på.dbmlfilen i Solution Explorer.)Högerklicka på den klass som du vill lägga till validering för i O/R Designer och välj sedan Visa kod.
Kodredigeraren öppnas med en partiell klass för den valda entitetsklassen.
Placera markören i den partiella klassen.
För Visual Basic-projekt:
Expandera listan Metodnamn .
Leta upp metoden OnCOLUMNNAMEChanging för kolumnen som du vill lägga till validering i.
En
OnCOLUMNNAMEChangingmetod läggs till i den partiella klassen.Lägg till följande kod för att först kontrollera att ett värde har angetts och se sedan till att det angivna värdet för kolumnen är acceptabelt för ditt program. Argumentet
valueinnehåller det föreslagna värdet, så lägg till logik för att bekräfta att det är ett giltigt värde:If value.HasValue Then ' Add code to ensure that the value is acceptable. ' If value < 1 Then ' Throw New Exception("Invalid data!") ' End If End If
För C#-projekt:
Eftersom C#-projekt inte genererar händelsehanterare automatiskt kan du använda IntelliSense för att skapa kolumnförändrande partiella metoder. Skriv
partialoch sedan ett utrymme för att komma åt listan över tillgängliga partiella metoder. Klicka på förändringsmetoden för kolumnen som du vill lägga till validering för. Följande kod liknar den kod som genereras när du väljer en kolumnförändrande partiell metod:partial void OnCOLUMNNAMEChanging(COLUMNDATATYPE value) { throw new System.NotImplementedException(); }
Lägga till validering för uppdateringar i en entitetsklass
Förutom att kontrollera värden under ändringar kan du även verifiera data när ett försök görs att uppdatera en fullständig entitetsklass. Med validering under ett uppdateringsförsök kan du jämföra värden i flera kolumner om affärsregler kräver detta. Följande procedur visar hur du verifierar när ett försök görs att uppdatera en fullständig entitetsklass.
Anmärkning
Verifieringskod för uppdateringar för att slutföra entitetsklasser körs i den partiella DataContext klassen (i stället för i den partiella klassen för en specifik entitetsklass).
Verifiera data under en uppdatering av en entitetsklass
Öppna eller skapa en ny LINQ till SQL-klassfil (
.dbmlfil) i O/R Designer. (Dubbelklicka på.dbmlfilen i Solution Explorer.)Högerklicka på ett tomt område i O/R Designer och klicka på Visa kod.
Kodredigeraren öppnas med en partiell klass för
DataContext.Placera markören i den partiella klassen för
DataContext.För Visual Basic-projekt:
Expandera listan Metodnamn .
Klicka på UpdateENTITYCLASSNAME.
En
UpdateENTITYCLASSNAMEmetod läggs till i den partiella klassen.Få åtkomst till enskilda kolumnvärden med hjälp
instanceav argumentet, enligt följande kod:If (instance.COLUMNNAME = x) And (instance.COLUMNNAME = y) Then Dim ErrorMessage As String = "Invalid data!" Throw New Exception(ErrorMessage) End If
För C#-projekt:
Eftersom C#-projekt inte genererar händelsehanterare automatiskt kan du använda IntelliSense för att skapa den partiella
UpdateCLASSNAMEmetoden. Skrivpartialoch sedan ett utrymme för att komma åt listan över tillgängliga partiella metoder. Klicka på uppdateringsmetoden för klassen där du vill lägga till validering. Följande kod liknar den kod som genereras när du väljer enUpdateCLASSNAMEpartiell metod:partial void UpdateCLASSNAME(CLASSNAME instance) { if ((instance.COLUMNNAME == x) && (instance.COLUMNNAME = y)) { string ErrorMessage = "Invalid data!"; throw new System.Exception(ErrorMessage); } }