Hier ist eine wirklich wirklich super-grundlegende Frage.Ansatz für n-Tier CRUD-Anwendungen in .NET
Angenommen, ich wollte - heute - eine Enterprise-CRUD-Anwendung in .NET mit einer n-Tier-Architektur erstellen. Welchen Datenzugriffsansatz sollte ich verwenden? Ich möchte Interoperabilität, also sind DataSets out (und ich nehme an, es ist nicht mehr 2003). Ebenso scheint die angekündigte Methode von .NET RIA Services, seine Funktionen über einen zusätzlichen Dienst für Nicht-Silverlight-Clients verfügbar zu machen, nicht sehr convincing für Aktualisierungsvorgänge zu sein. Ich habe Art von in der Lage, etwas mit Entity Framework, die keine n-Tier-Unterstützung OOB und so viele seltsame Reflexion-Art Zeug zu simulieren den Anschein von optimistischen Nebenläufigkeit (die example in MSDN Magazine sieht nicht so aus, als ob es optimistische Nebenläufigkeit unterstützt. Ich bin in der EF4 verbessert, aber ich bin ein bisschen skeptisch und es ist noch nicht wirklich verfügbar außer in CTP).
Also, was können Menschen tatsächlich auf ihre Projekte für Unternehmen CRUD mit update-check optimistischen Nebenläufigkeit tun? DataSets? DIY mit DTOs und Gott weiß, wie viel Arbeit? Und wie funktioniert das mit gebundenen Daten? Angenommen, ich habe eine Sammlung an ein DataGrid gebunden. Muss ich CollectionChanged für Änderungen anhören? Muss ich Stapel von Änderungen behalten, damit ich PKs vergleichen kann, wenn ein Undo rückgängig gemacht wird? Es scheint alptraumhaft.
Und zweitens, was ist, wenn Update-Prüfung auf optimistische Nebenläufigkeit keine schwierige Anforderung war? Was dann?
Wie groß ist die App? Wie lange wird es im Dienst sein? Wie viele Benutzer? Ein Ort oder mehrere? Was ist die aktuelle Erfahrung und Wissensbasis der Entwickler? Sie sagen, Sie wollen Interoperabilität, aber mit was? Die Wahl von Technologielösungen ohne diesen Kontext ist sinnlos. –