Wpis z mikrobloga

#csharp #programowanie

Visual wyrzuca mi taki błąd "system.data.entity.infrastructure.dbupdateexception" przy dbContext.SaveChanges();

Kod wygląda tak:

private void buttonDodajKsiazke_Click(object sender, EventArgs e)
{
//Tworzenie obiektu nowej ksiązki
Ksiazka nowaKsiazka = new Ksiazka()
{
NazwaKsiazki = textBoxNazwaKsiazki.Text,
IloscStron = Convert.ToInt32(textBoxIloscStron.Text),
StanKsiazki = textBoxStanKsiazki.Text,
GatunekId = Convert.ToInt32(comboBoxGatunek.SelectedValue),
WydawnictwoId = Convert.ToInt32(comboBoxWydawnictwo.SelectedValue)
};

//Dodanie ksiazki do bazy i zapisanie danych
using (var dbContext = new BibliotekaEntities())
{
dbContext.Ksiazka.Add(nowaKsiazka);
dbContext.SaveChanges();
}
}

Z czym jest problem? Jakieś kolizje FK/PK?
kurazjajami - #csharp #programowanie

Visual wyrzuca mi taki błąd "system.data.enti...

źródło: comment_HFws6X2M6rYIsHnTQA9mP2Lxz4pvdWRe.jpg

Pobierz
  • 19
Coś takiego:

SqlException: The INSERT statement conflicted with the FOREIGN KEY constraint "FK_KsiazkaAutorId_164452B1". The conflict occurred in database "Biblioteka", table "dbo.Autor", column 'AutorId'.

The statement has been terminated.
@KingFight: Możesz podać 8 największych minusów? Przyjmij, że mówimy o polskiej firmie zatrudniającej 20 polskich programistów piszących programy na polski rynek.

Kilka razy widziałem jak programiści próbowali mi przetłumaczyć na angielski typowo poleskie skróty jak PKWiU, NFZ, NIP i jak notorycznie robili literówki w Voivodeship czy Receipt. Od kiedy zabroniłem im używać angielskich identyfikatorów, jedyne uwagi jakie słyszałem to "polskie nazwy wyglądają głupio". To tak samo jak z grami - polski
typowo poleskie skróty jak PKWiU, NFZ, NIP


@WilgotnyNiedzwiedz: wydaje się logiczne, że tego nie trzeba tłumaczyć, ale wszystko pozostałe już tak. Co do literówek to ludzie robią błędy nawet pisząc po polsku. A prostym przykładem dlaczego nie używać polskiego w kodzie, to użycie np. asp.net identity który generuje kod i tabele dotyczące autoryzacji i one są po angielsku, a będą po polsku, to jak to będzie wyglądać? Wystarczy, że skorzystasz z
@KingFight: Kod oczywiście jest dwujęzyczny. Korzystamy ze standardowych i zewnętrznych bibliotek, które zwykle są po angielsku. Ma to ten pozytywny efekt, że na pierwszy rzut oka widać czy dany kawałek kodu jest "nasz" czy "obcy". A to, że w jednej linijce mieszają się języki? No cóż, od czasów COBOLa chyba wszyscy pogodzili się z tym, że nie ma co udawać że kod programu będzie poprawny gramatycznie w języku naturalnym.

Gdy typowo