Jaka baza do aplikacji Client -> serwer wraz z synchronizacją offline

0
  1. Baza na serwerze zdalnym: MSSQL2012 (trzyma "wszystkie" dane)
  2. Aplikacja kliencka w WPF MVVM
  3. ORM: Entiti Framework 5.0
  4. Visual Studio 2012 (nie pamiętam jaka wersja ale z msdn dla studentów, wiec "pełna")

Przewidywania co do bazy danych:

Jako że zdalna baza danych ma ograniczenie do 600MB to nie bede tam przechowywał jakiejś znacznej ilości dużych plików, baza lokalna nie będzie kopia całej bazy "matki" a jedynie jej fragmentem (np każdy uzytkownik aplikacji obsługuje jedna firmę, natomiast na onlinowej bazie są wszytskie firmy, tak wiec na lokalach operuje na danych jednej firmy), baza składa sie z 14 tabel kilku widoków oraz procedur składowanych (2-3) uzywane do przelkiczenia niektórych wartości.

Pytanie brzmi czy warto użyć MSSQL Express czy MSSQL CE 4.0? Oraz prośba, jeżeli ktos posiada takie informacje o sposób (o ile istnieje) na cichą instalację SQL Express + zakładanie bazy i struktury z poziomu kodu (instalatora).

Pozdrawiam

0

Nie ma ORM Entiti Framework, jest Entity Framework.
à propos wyboru DBMS - poczytaj za i przeciw, następnie sam wybierz co uważasz. Ja wybrałbym Expressa.
http://blogs.msdn.com/b/jerrynixon/archive/2012/02/26/sql-express-v-localdb-v-sql-compact-edition.aspx.
SQL Express sam musisz instalnąć. Natomiast mechanizm automatycznego tworzenie bazy danych wraz z jej strukturą istnieje - google: Entity Framework Code First Database Initializers.
np.: http://www.codeguru.com/csharp/article.php/c19999/Understanding-Database-Initializers-in-Entity-Framework-Code-First.htm
Warto też poczytać o automatycznych migracjach w EF5, jeżeli chcesz się zabezpieczyć przed przyszłymi zmianami struktury.

0

A co w przypadku kiedy mam już cała strukturę bazy danych stworzona i zmapowana przez ORM na obiekty c#? Code first chyba odpada bo nie mam zamiaru pisać wszystkiego od nowa skoro już mam działające rozwiązanie? A co do bazy danych to proszę o subiektywna ocenę uwzględniając wszystkie +/-. W tym obciążenie, wygodę użytkownia oraz możliwości migracji i synchronizacji z innymi bazami (MSSQL). Pozdrawiam

0

My używamy Database First - usuwasz wszystkie tabele, klikasz ppm na update model from database i dodajesz (add) na wszystkich tabelach
nie wiem czemu nam na Firebirdzie nie działa opcja refresh, trzeba kasować i dodać na nowo, lecz może na MSSQL działa

jak byś miał jakieś pytania pisz

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