sql >> Databáze >  >> RDS >> Sqlserver

Jak zajistím, že Linq to Sql nepřepíše nebo neporuší výchozí hodnoty DB bez možnosti null?

Třídy generované Linq-To-Sql nepřebírají omezení výchozí hodnoty.

Možná v budoucnu, ale problém je, že omezení nejsou vždy jednoduché hodnoty, mohou to být také skalární funkce jako GetDate() , takže linq by nějak musel vědět, jak je přeložit. Zkrátka to ani nezkouší. Je to také věc velmi specifická pro databázi.

  • Mohli byste napsat generátor kódu pro vytvoření dílčích tříd entit, kde můžete extrahovat výchozí podmínku hodnoty.
  • Případně může váš kód obchodní vrstvy nastavit výchozí hodnoty v konstruktorech ze souboru xml a vše, co musíte udělat, je udržovat soubor xml aktuální.
  • Místo práce v konstruktorech můžete emulovat sql a přidat výchozí hodnoty kontrolou ChangeSet před odesláním změn do databáze.

Problém, který máte, je podrobně popsán v CodeProject – Nastavení výchozích hodnot pro LINQ vázaná data



  1. PDO vypracované výkazy

  2. Je možné použít funkci Aggregate ve výpisu Select bez použití klauzule Seskupit podle?

  3. Mám potíže s přesunem své aplikace rails do Heroku/získání instalace drahokamu 'pg'?

  4. chyba aktualizace záznamu v databázi