Witam, próbuje usunąć wpis z "głównej" tabeli w mojej bazie danych. Zaimplementowałem fluent api na poszczegołne relacje, niestety gdy probuje usunąć wpis z głownej tabeli nic sie nie dzieje. Dodam, że gdy usuwam wpisy z mniej złożonych tabel wszystko dziala i wpisy zostaja usunięte. O czym mogłem zapomnieć? Czy wpis w tabeli, który odnosi sie do wielu wpisów z innych tabel nie da się zrobic za pomocą fluent api?
- Rejestracja:ponad 7 lat
- Ostatnio:5 miesięcy
- Postów:1065
Pokaż swojego fluenta albo zobaczy mój przykład tu
https://4programmers.net/Forum/Ci.NET/297381-fluentapi_do_kaskadowego_usuwania_aspnet_mvc
Sprawdź też w bazie danych czy masz odpowiednie zachowania poustawiane w relacjach. Może Fluent nie wygenerował czegoś
CreateTable(
"dbo.Klient",
c => new
{
ID = c.Int(nullable: false, identity: true),
UserName = c.String(nullable: false, maxLength: 20),
Haslo = c.String(nullable: false, maxLength: 20),
Email = c.String(nullable: false),
})
.PrimaryKey(t => t.ID);
CreateTable(
"dbo.Rezerwacja",
c => new
{
ID = c.Int(nullable: false, identity: true),
PokojID = c.Int(nullable: false),
KlientID = c.Int(nullable: false),
PlatnoscID = c.Int(nullable: false),
})
.PrimaryKey(t => t.ID)
.ForeignKey("dbo.Klient", t => t.KlientID, cascadeDelete: true)
.Index(t => t.KlientID);
CreateTable(
"dbo.Payment",
c => new
{
ID = c.Int(nullable: false),
DateOfPayment = c.DateTime(nullable: false),
IsPaid = c.Boolean(nullable: false),
PayType = c.String(nullable: false, maxLength: 20),
Koszt = c.Int(nullable: false),
RezerwacjaID = c.Int(),
})
.PrimaryKey(t => t.ID)
.ForeignKey("dbo.Rezerwacja", t => t.ID, cascadeDelete: true)
.Index(t => t.ID);
CreateTable(
"dbo.RezerwacjaPokoju",
c => new
{
ID = c.Int(nullable: false, identity: true),
RezerwacjaID = c.Int(nullable: false),
PokojID = c.Int(nullable: false),
Od = c.DateTime(nullable: false),
Do = c.DateTime(nullable: false),
})
.PrimaryKey(t => t.ID)
.ForeignKey("dbo.Rezerwacja", t => t.RezerwacjaID, cascadeDelete: true)
.ForeignKey("dbo.Pokoj", t => t.PokojID , cascadeDelete: true)
.Index(t => t.RezerwacjaID)
.Index(t => t.PokojID );
CreateTable(
"dbo.Pokoj",
c => new
{
ID = c.Int(nullable: false, identity: true),
TypPokojuId = c.Int(nullable: false),
Status = c.String(),
})
.PrimaryKey(t => t.ID)
.ForeignKey("dbo.TypPokoju", t => t.TypPokojuId, cascadeDelete: true)
.Index(t => t.TypPokojuId);
CreateTable(
"dbo.TypPokoju",
c => new
{
ID = c.Int(nullable: false, identity: true),
Rozmiar = c.Int(nullable: false),
Koszt = c.Decimal(nullable: false, precision: 18, scale: 2),
TypLozka = c.Int(nullable: false),
Lazienka = c.Boolean(nullable: false),
LiczbaLozek = c.Int(nullable: false),
LiczbaLudzi = c.Int(nullable: false),
})
.PrimaryKey(t => t.ID);
- Rejestracja:ponad 7 lat
- Ostatnio:5 miesięcy
- Postów:1065
A masz jakiegoś Seed()-a do tego z jakimiś danymi?
Co chcesz usuwać? Która tabela jest "główna"?
Usuwasz Rezerwacja i ma się usunąć RezerwacjaPokoj i Payment?
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.