IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
parapc
Člen
Avatar
parapc:21.9.2015 7:37

Dobré ráno vespolek. Mám problém s hláškou se kterou si už fakt nevím rady. Po spuštění aplikace v ASP.NET MVC a prvním spuštění monelů mi vyhodí hlášku
*"Introducing FOREIGN KEY constraint 'FK_dbo.CableS­tart_dbo.Colum­n_ColumnId' on table 'CableStart' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
Could not create constraint. See previous errors." *
Už si nevím rady co s tím. Dělám většinou v PHP a když jsem to předělal do PHP a MySQL, tak vše funguje jak má. Co sem mám přidat aby mi byl někdo schopen poradit? Díky předem.

 
Odpovědět
21.9.2015 7:37
Avatar
Milan Křepelka
Tvůrce
Avatar
Milan Křepelka:21.9.2015 8:05

Je to problém databáze. V databázi máš takový kaskádní systém mazání záznamů, že to bude dělat neplechu. Musíš někde tu kaskáku přerušit nebo udělat jinak.
Microsoft SQL server manager studio->SQL server->Databases->[TvojeDatabaze]->Tables->[TvojeTabulka]->Keys->[TvujCiziKlic]->Pravé tlačítko->Modify
Viz obrázek

 
Nahoru Odpovědět
21.9.2015 8:05
Avatar
parapc
Člen
Avatar
Odpovídá na Milan Křepelka
parapc:21.9.2015 8:22

Děkuji za radu. Toto všechno je mi známo. Problém je v tom, že databáze ještě fyzicky neexistuje. Je pouze daná modelem, třídou context a inicializátorem a hned při prvním spuštění to nahlásí tuto chybu. Takže Manager studio nelze použít.

 
Nahoru Odpovědět
21.9.2015 8:22
Avatar
Milan Křepelka
Tvůrce
Avatar
Milan Křepelka:21.9.2015 8:45

Tak to záleží na tom jakým způsobem děláš tu databázi. S tím už jsi se jaksi nesvěřil :-). Pokud používáš model code first, tak to bude takto podobně v OnModelCreating

modelBuilder.Entity<Product>()
            .HasOptional(p => p.Category)
            .WithMany()
            .WillCascadeOnDelete(false);
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
21.9.2015 8:45
Avatar
parapc
Člen
Avatar
Odpovídá na Milan Křepelka
parapc:21.9.2015 11:06

Díky. Už funguji. :-)

 
Nahoru Odpovědět
21.9.2015 11:06
Avatar
Milan Křepelka
Tvůrce
Avatar
Odpovídá na parapc
Milan Křepelka:21.9.2015 11:59

Sloužím lidu ;-)

 
Nahoru Odpovědět
21.9.2015 11:59
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.