sql >> Database >  >> RDS >> Sqlserver

Hoe zorg ik ervoor dat Linq to Sql de niet-nulbare DB-standaardwaarden niet overschrijft of schendt?

Door Linq-To-Sql gegenereerde klassen halen de standaardwaardeconstriants niet op.

Misschien in de toekomst, maar het probleem is dat beperkingen niet altijd eenvoudige waarden zijn, het kunnen ook scalaire functies zijn, zoals GetDate() , dus linq zou op de een of andere manier moeten weten hoe deze te vertalen. Kortom, hij probeert het niet eens. Het is ook erg database-specifiek.

  • Je zou een codegenerator kunnen schrijven om gedeeltelijke entiteitsklassen te maken waar je de standaardwaarde constriant kunt extraheren.
  • Als alternatief zou uw bedrijfslaagcode de standaardwaarden in constructors van een xml-bestand kunnen instellen, en het enige wat u hoeft te doen is het xml-bestand up-to-date te houden.
  • In plaats van het werk in constructors te doen, kunt u sql emuleren en standaardwaarden toevoegen door de ChangeSet te inspecteren voordat u wijzigingen naar de database verzendt.

Het probleem dat u ondervindt, wordt uitgebreid beschreven in CodeProject - Standaardwaarden instellen voor LINQ-gebonden gegevens



  1. Een gids voor PubNub-functies

  2. mysql:bepaalde rijen dupliceren met SQL?

  3. ontbrekende sleutelwoordfout in orakel CASE WHEN sql-instructie

  4. PG::InvalidParameterValue:ERROR:ongeldige waarde voor parameter client_min_messages:paniek