Diskuze: Probl0m s Introducing FOREIGN KEY (ASP.NET MVC)

C# .NET .NET (C# a Visual Basic) Probl0m s Introducing FOREIGN KEY (ASP.NET MVC) American English version English version

Avatar
parapc
Člen
Avatar
parapc:

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
Redaktor
Avatar
Milan Křepelka:

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:

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
Redaktor
Avatar
Milan Křepelka:

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í
+1 bodů
Řešení problému
 
Nahoru Odpovědět 21.9.2015 8:45
Avatar
parapc
Člen
Avatar
 
Nahoru Odpovědět 21.9.2015 11:06
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.