Architektur des Datenbankzugriffs für WP7, MVC3, WPF
-
2011年12月10日 8:24
Hallo,
ich stehe zur Zeit etwas auf dem Schlauch. Ich versuche eine Architektur zu entwerfen, um aus verschiedenen Clients ( MVC3, WPF,WP7,WCF) auf Daten zuzugreifen. Möchte aber nicht für jeden Client noch einmal ein extra Model erstellen.
Die Webanwendung verwendet einen SQL Server, EF4.1, MVC3. WP7 verwendet bald ???
DataAnnotations:
public class Person { [Range(1, 9999)] [Editable(false)] [Display(Name = "ID")] [DisplayFormat(DataFormatString = "#{0}")] public int Id { get; set; }
Linq.Mapping auf WP7:[Table(Name="Person")] public class Person : INotifyPropertyChanged, INotifyPropertyChanging { private int _id; [Column(IsPrimaryKey = true, IsDbGenerated = true, DbType = "INT NOT NULL IDENTITY", CanBeNull = false, AutoSync = AutoSync.OnInsert)] public int ID { get { return _id; } set { _id = value; } }EF: (Das ist aus der DB genertier,glaub ich kann da auch DataAnnotations verwenden und die DB anpassen lassen, oder gibt's da Probleme? String Längen, Null,...)
public partial class Person { public Person() { this.Reference = new HashSet<Reference>(); } public int ID { get; set; }
Probleme:- Technologie für Datenzugriff (Linq, EF,...)
- Layer für Datenzugriff ( EF: DbContext, WP7: DataContext, ???: ObjectContext keine Ahnung wozu das verwendet wird )
- Validierung ( DataAnnotations gefällt mir ganz gut, aber es muss auch eine Validierung in der BL erfolgen. Z.B. bei WCF Zugriff, oder? )
- Datenbinding ( INotifyPropertyChanged, INotifyPropertyChanging find ich gut. )
Ich hoffe ich konnte mein Problem eingermaßen beschreiben. :)
Gruß
Peter
- 已更改类型 Robert BreitenhoferMicrosoft Contingent Staff, Moderator 2012年4月17日 12:48 Keine Rückmeldung des Fragenstellender
全部回复
-
2011年12月10日 15:31
Hallo,
da du mehrerecClients/Webseiten auf die gleichen Daten zugreifen lassen möchtest wäre eine Layer zwischendrin nicht schlecht. zB REST. Das kann man super mit WCF umsetzen. Oder du benutzt soetwas wie oData -> http://www.odata.org/
Das löst jetzt nicht dein spezielles Problem aber vielleicht wäre das für deinen Fall besser geeignet.
-
2011年12月10日 15:59
Hallo Peter,
Du hast sehr gut erkannt welche Möglichkeiten Du hast, aber im Gegensatz zu Rodin3D sehe ich dein Problem nicht wirklich. Woran scheitert es in deiner Planung?
Rodins Idee alles auf einen Datalayer zu fokussieren, ist gut. Das solltest Du weiter verfolgen. Ansonsten gib Bescheid und liefere etwas mehr Details zur eigentlichen Problematik.
Schöne Grüße
Oliver
P.S. bitte keine Doppelpostings
- 已编辑 Oliver MichalskiMicrosoft Community Contributor 2011年12月10日 16:05 Typo
-
2011年12月13日 11:06
Hallo Peter,
schau dir doch mal Prism an, da wird dir eine komplette Architektur geboten.
http://compositewpf.codeplex.com/
MFG
Björn
- 已编辑 Robert BreitenhoferMicrosoft Contingent Staff, Moderator 2011年12月13日 12:35 URL als Link
-
2012年4月17日 12:48所有者:****************************************************************************************************************
Dieser Thread wurde mangels weiterer Beteiligung des Fragestellenden ohne bestätigte Lösung abgeschlossen.
Neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.
****************************************************************************************************************Robert Breitenhofer, MICROSOFT

Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

