Baza danych w aplikacji – co będzie najlepszym rozwiązaniem?

0

Witam,
pisze aplikację i potrzebuję w jakiś sposób przechowywać dane. Chciałbym to zrobić poprzez bazę danych. Kilka informacji:

  1. W bazie miałbym kilka tabel powiązanych kluczami. ok. 5 tabel będzie miało raczej nie więcej niż 10000 rekordów, natomiast jedna będzie dosyć duża. Codziennie będzie tam dochodziło ok. 300000 rekordów.

  2. Nie chciałbym uruchamiać lokalnej bazy danych i z nią się łączyć. To dlatego, że aplikację chciałbym łatwo przenosić na inne komputery. Nie chciałbym tam za każdym razem uruchamiać bazy.

  3. Łatwość w dodawaniu nowych tabel. Chodzi tu o to, że używając SQLite i EntityFramework z każdą edycją bazy musiałem usuwać plik .edmx i dodawać model na nowo. Nigdzie nie znalazłem rozwiązania odświeżenia danych z bazy w entity.

Co w takim razie będzie najlepszym rozwiązaniem. Myślałem nad SQLite i EntityFramework ale problemem jest to, że z każdą zmianą muszę dodawać model od nowa. Jest na to jakiś inny sposób?

0

Pracowałem kiedyś przy projekcie z podobnym założeniem (dynamicznie zmieniająca się struktura bazy danych). Wykorzystwaliśmy NHibernate. Wypróbuj, powinno być najlepszym rozwiązaniem w Twoim przypadku.

0

Też kiedyś pracowałem przy dość sporym systemie, gdzie w sumie z każdą aktualizacją (średnio raz na 1,5 miesiąca) zmieniała się struktura bazy danych. To były czasy, gdy pedalskie ORMy nie były jeszcze tak rozpowszechnione ;)

W każdym razie nie było żadnego problemu, żeby aktualizować bazę danych. Po prostu wystarczyło napisać kilka zapytań., a aktualizator sam wykonywał resztę roboty.

W prawdzie nie znam NHibernate, ale w tym wypadku uważam, że brak ORM = brak problemów.

0
Ham Burg napisał(a):
  1. Łatwość w dodawaniu nowych tabel. Chodzi tu o to, że używając SQLite i EntityFramework z każdą edycją bazy musiałem usuwać plik .edmx i dodawać model na nowo. Nigdzie nie znalazłem rozwiązania odświeżenia danych z bazy w entity.

Co w takim razie będzie najlepszym rozwiązaniem. Myślałem nad SQLite i EntityFramework ale problemem jest to, że z każdą zmianą muszę dodawać model od nowa. Jest na to jakiś inny sposób?

Jak rozumiem korzystasz ze starożytnego podejścia i najpierw tworzysz bazę danych? W takim razie wystarczy PPM w designerze edmxa i wybierz opcję "Update model from database".

Juhas napisał(a):

W prawdzie nie znam NHibernate, ale w tym wypadku uważam, że brak ORM = brak problemów.

@Juhas, ORMy po to są, aby automatycznie generować bazę danych z kodu, więc to co napisałeś nie jest zbyt prawdziwe.

0

Jak jeszcze musiałem pisać w .net (oby te czasy nie wróciły, tfu - żeby nie zapeszyć), to zawsze mi kazano generować model z bazy i zawsze generowało się coś źle, a kod potem się nie kompilował, baza to był MySQL.

1 użytkowników online, w tym zalogowanych: 0, gości: 1