
Ergebnis 1 bis 13 von 13
-
Fühle mich heimisch
- 18.12.2011, 14:33
- #1
Hallo Leute,
seit Mango ist es ja möglich Datenbanken in die WP7 zu erstellen. Habe nun eine Frage, normalerweise erstelle ich komplexere Datenbanken mit dem ms sql server management studio 2008 r2 von Microsoft. Kann ich diese Datenbanken auch in die WP7 Apps übernehmen?
Das Managment Studio zeigt die Beziehungen so schön grafisch an und man hat immer schnell einen Überblick über die Datenbank, dieses Feature habe ich in Visual Studio nicht entdeckt.
Es wäre echt schön wenn man Datenbanken ohne große Veränderungen übernehmen könnte, hätte ich mir viel Zeit gespart.
-Schledi
-
entwickelt Apps
- 18.12.2011, 14:49
- #2
Man kann sich die Datenbanken anhand von Entities erstellen lassen. Also eine Klassenstruktur erstellen, dann wird die Datenbank daran erstellt.
Hier mal ein Beispiel. Ich finde das eigentlich sehr angenehm, da man sich um so wenig kümmern muss. Das Entity Framework macht den ganzen Rest und kümmert sich um das erstellen der Tabellen und das Mapping.
Code:public class UserDataContext : DataContext { public UserDataContext () : base("Data Source=isostore:/UserData.sdf") { if (!DatabaseExists()) { CreateDatabase(); this.SubmitChanges(); } } public Table<User> Users; public Table<Group> Groups; } [Table(Name="Users")] public class User { [Column(IsPrimaryKey=true, AutoSync=AutoSync.OnInsert, IsDbGenerated=true, DbType="INT IDENTITY NOT NULL", CanBeNull=false)] public int UserID{ get; set; } [Column] public string Name{ get; set; } [Column] GroupID{ get; set; } EntityRef<Group> _group; [Association(Storage = "_group", ThisKey = "GroupID")] public Group Group { get { return _group.Entity; } set { _group.Entity = value; } } } [Table(Name = "Groups")} public class Group { [Column(IsPrimaryKey=true, AutoSync=AutoSync.OnInsert, IsDbGenerated=true, DbType="INT IDENTITY NOT NULL", CanBeNull=false)] public int GroupID{ get; set; } [Column] public string GroupName { get; set; } EntitySet<User> _users = new EntitySet<User>(); [Association(Storage="_users", OtherKey= "GroupID")] public EntitySet<User> Users { get { return _users; } set { _users.Assign(value); } } }
-
Fühle mich heimisch
- 18.12.2011, 14:52
- #3
@pdelvo
So habe es für WP7 bereits gelernt! Ich habe mich nur gefragt, ob man die Datenbanken, die ich mit dem SQL Server Managment Studio erstellt habe auch in die WP7 Apps einbinden kann. Ich meine ich habe irgendwo gelesen es soll mit Umwegen gehen, finde aber den Article nicht mehr
-Schledi
-
- 18.12.2011, 16:50
- #4
Guckst du z.B. hier: http://blog.jerrynixon.com/2011/11/m...e-part-22.html
-
Fühle mich heimisch
- 18.12.2011, 18:54
- #5
@leitning
Danke für den Link. Werde es in nächster Zeit mal ausprobieren.
-
Fühle mich heimisch
- 19.12.2011, 18:58
- #6
@leitning
Ich habe es ausprobiert. Nur leider habe ich einen Fehler. Die Anleitung gibt leider nicht her, was ich bei STEP5 alles genau herauslöschen soll. Kannst du mir da nochmal kurz helfen?
-Schledi
-
- 19.12.2011, 23:19
- #7
Ich habe die Anleitung selber leider nicht ausprobiert - meine eigenen lokalen Datenbanken habe ich auch immer mit dem (offenbar empfohlenen) code-first Ansatz definiert.
Aber wenn ich den Step 5 richtig lese, müsste man nur zwei von sqlmetal erstellte Konstruktoren aus dem generierten Code löschen? Was sind denn genau die Fehler die du bekommst?
-
Fühle mich heimisch
- 20.12.2011, 10:58
- #8
Ich habe dazu noch eine Anleitung gefunden, ist etwas besser beschrieben. Man muss einfach den Konstruktor weglassen. Werde es heute ausprobieren. Den Erfolg oder Misserfolg werde ich posten.
Hier die Anleitung, die ich gefunden habe:
http://www.windowsphonegeek.com/arti...tabase-classes
-Schledi
-
- 20.12.2011, 11:00
- #9
sieht gut aus. Viel Erfolg!
-
Fühle mich heimisch
- 23.12.2011, 15:05
- #10
Hallo Leute,
wie versprochen wollte ich mein Ergebnis hier posten. Mit der Anleitung von windowsphonegeek.com hat es nun letztendlich doch ohne Probleme funktioniert. Alle Beziehungen werden übernommen. Nur alle Daten, die in der Datenbank vorhanden sind werden nicht mitübernommen, man bekommt nur die Tabellen mit ihren Beziehungen, was aber ja nicht wirklich schlimm ist.
Empfehlen tue ich diese Methode, aber nur für Datenbanken mit vielen bzw komplexen Beziehungen. Wenn man nur eine Tabelle mit hat ohne Beziehungen, ist man mit dem code-first Ansatz, deutlich schneller.
-Schledi
-
Fühle mich heimisch
- 28.12.2011, 14:48
- #11
Nur so als Gedanke.
Ich habe damals für WM 6.5 eine Merge-Replikation geschrieben.
Die Datenbank für WM 6.5 besteht aus einer Compact-Edition des MS-SQL Servers. Aus dieser habe ich mittels SQLMetal das Entity-Modell generiert. Wenn Du beides zusammenführst, erhältst Du sogar eine Datenbank mit Daten.
Im Augenblick verfolge ich den Ansatz, das eine Kopie der Datenbank auf meinen Sky-Drive Account geschrieben wird und von dort auf das Handy synchronisiert wird.
Im Augenblick fehlt mir die Lust und Zeit eine eigene Replikation mittels WCF zu schreiben.
-
Gehöre zum Inventar
- 28.12.2011, 15:01
- #12
Einerseits gibt es eine Unterstützung von Microsofts Sync-Framework für WP7, allerdings momentan nur auf Basis von XML. Andererseits gibt es aber seit Mango eben auch einen SQLServer für WP7, der intern auch ein SQL CE-Server ist. Die lässt sich aktuell aber von Silverlight aus meines Wissens nur mittels LINQ2SQL ansprechen.
-
Fühle mich heimisch
- 28.12.2011, 16:08
- #13
Deine Aussagen treffen voll und ganz zu. Du kannst jedenfalls die 3.5er Datafiles unter WP7 verwenden. LINQ2SQL ist zwar nicht ganz so umfangreich wie ADO, für einfache Anwendungen funktioniert es aber. Das ist auch der Grund, weshalb Du SQLMetal auf die Datenbank "loslassen" musst um das Objektmodell zu erhalten.
Das Sync-Framework funktioniert leider mit Binärdaten (Bildern) nicht ganz so gut, oder ich habe es bisher noch nicht gerafft, wie ich das implementieren muss (Bin aber dran)
Ähnliche Themen
-
Bing Local Scout - auch in Deutschland! (Durch Umstellen der Suchsprache auf English)
Von hansmueller1968 im Forum Windows Phone 7 AllgemeinAntworten: 20Letzter Beitrag: 11.01.2012, 12:41 -
Local.ch ?
Von P-HD7 im Forum Windows Phone 7 AppsAntworten: 6Letzter Beitrag: 26.02.2011, 08:00 -
Kalender local ohne Google
Von sapo im Forum Android AppsAntworten: 1Letzter Beitrag: 29.01.2010, 07:45 -
footprints database
Von DirtDevil im Forum Touch HD AnwendungsprogrammeAntworten: 0Letzter Beitrag: 29.09.2009, 10:06 -
Weather Database
Von TomF1979 im Forum Touch HD AnwendungsprogrammeAntworten: 5Letzter Beitrag: 12.12.2008, 16:51
Pixel 10 Serie mit Problemen:...