LINQ insert   otázka

LINQ, Databáze

Dobrý den,

mám dva dotazy ohledně vkládání hodnot do SQL serveru.

Nejvíc mne trápí to, že se nedaří vložit řádek do tabulky, kde je primární klíč sloupec tinyint indentity(1,1) not null.

Ať už v kódu do sloupce hodnotu uvedu nebo ne, i když sloupec vůbec neuvedu, vždy mi to hodí na .submitChanges tuto chybu:

Server nemůže vygenerovat sloupec primárního klíče typu TinyInt.

Přetypování hodnoty také nepomohlo, změna typu v properties v dbml mi také nepomohla a pokud v dbml změním auto generated value na false, tak to pro změnu hází tuto chybu:

Cannot insert explicit value for identity column in table 'SUIT' when IDENTITY_INSERT is set to OFF. (což je pochopitelné).

Poradí někdo, kde je problém v LINQ jsem totální začátečník, pokud vkládám hodnotu z klasického nelinq kódu nebo přímo v databázi (SSMS), stačí uvést všechny sloupce kromě toho s identity, v linq evidentně ne.

Díky

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tadyto vypadá jako by někdo "brečel", že to opravdu nelze, ale nějak se mi to nezdá - proč?

http://www.sqltact.com/2010/04/linq-does...

http://connect.microsoft.com/VisualStudi...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Změňte v databázi to pole na int, to mám u LINQ to SQL vyzkoušené, že funguje. Kdoví jak to je s tím tinyint.

Do sloupce v C# kódu nic nepřiřazujte.

V nejhorším tu tabulku v DBML diagramu smažte a přidejte znovu, měla by se vygenerovat správně.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Děkuji za odpověď, i když jste mne moc nepotěšil :) Tabulek se sloupcem tinyint mám bohužel v db spoustu....

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zkuste to na jedné tabulce a uvidíte, jestli je to tím - podle mě je problém jen když je to primární klíč a ta identity(1,1).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zdá se, že je to opravdu tím.

Díky Jakub

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Moderátori, tu už by trebalo premazať SPAM, je tu toho viac, než normálnych príspevkov.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Na hlášení SPAMu je tu tlačítku. Příště jej prosím použijte, dozvíme se o problému snáze. Děkuji.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback