| |

VB.NET - FortgeschritteneArchitekturproblem | |  | Autor: Curse4Life | Datum: 13.05.11 08:39 |
| Hallo,
ich bin verzweifelt...ich brauche eure Hilfe.
Der Code unten ist zwar in C# aber, es ist kein C# Problem, es ist wie im Betreff genannt ein Architekturproblem.
Und zwar bin ich jetzt auf der Arbeit das erste Mal mit Architektur konfrontiert.
Privat hatte ich immer meine MVC Anwendung und mein Datenbankmodel, dass ich auch in den Views benutzt habe. Die Webanwendung hatte volle Datenbankkontrolle und somit war alles gut und leicht.
Nun auf der Arbeit soll ich aber nun eine MVC Anwendung entwickeln, einen WCF Service und eine extra DLL für DB Models und noch mal eine extra DLL für Service Models, so gesehen im Projekt Silk von Microsoft wo ich eigentlich dachte, die sollten wissen wie es geht!
Also von der Firma vorgeschrieben sind nur die MVC Anwenung und der WCF Service, die anderen beiden habe ich mir wie gesagt bei Silk abgeschaut.
Nun bin ich aber auf ein Problem mit Linq gestroßen!
Ich habe eine WCF Methode "LadeOffeneAufgabenUndWiedervorlagen(String username)", in der steht unter anderem das drin:
var telefonnotizenOhneWiedervorlage = (
from aufgabe in db.Aufgaben
where
((from aufgabenNachricht in db.AufgabenNachrichten where _
aufgabenNachricht.AufgabeId == aufgabe.AufgabeId && _
aufgabenNachricht.Username != username && aufgabenNachricht.Typ == _
"Q" && aufgabenNachricht.IstBeantwortet == false select _
aufgabenNachricht.AufgabenNachrichtId).Count() == 0)
&&
(aufgabe.RecipientToKurz == username)
&&
(aufgabe.ReferenzTyp == 16 || aufgabe.ReferenzTyp == 20)
&&
(aufgabe.IstGeschlossen == false)
select new OffeneAufgabeOderWiedervorlage
{
SortierPosition = 1,
SortierDatum = aufgabe.ErledigenBis,
AufgabenId = aufgabe.AufgabeId,
Betreff = aufgabe.KurzBeschreibung,
// Geht nicht!!!!!!
//WiedervorlageDatum = aufgabe.LadeWiedervorlageDatum(username),
IstÜberfällig = aufgabe.ErledigenBis < DateTime.Today
}).ToList();
telefonnotizenOhneWiedervorlage = telefonnotizenOhneWiedervorlage.Where( _
o => o.WiedervorlageDatum == null).ToList(); Zur Erklärung: "OffeneAufgabeOderWiedervorlage" ist ein ServiceModel und die List "telefonnotizenOhneWiedervorlage" wird dann von der Service Methode zurück gegeben.
Ich habe nun das Problem das Linq2SQL die Methode "LadeWiedervorlageDatum" die komplexe Dinge tut und auch Datenbankzugriffe beinhaltet bekanntlicherweise nicht ausführen kann.
Linq2Objects könnte es (Wenn ich die Methode ins Service Model verschieben würde) aber da kann ich ja keine DB Zugriffe machen.
Ich weiß nun nicht weiter, das ist ein Teufelskreis!
Diese strikte Achitekturtrennung macht doch einige Probleme! ;(
Ich hoffe das ihr ein wenig Licht ins dunkel bringen könnt!
Liebe Grüße |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
Neu! sevPopUp 2.0 
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|