Ah, ok.
D.h. ich mache SnapsToDevicePixels="True" oder gebe eine höhe an?
Hallo,
ich habe folgendes erstellt:
<Border BorderBrush="#FF000000" BorderThickness="0,1,0,0" Background="#FFF4F4F4" VerticalAlignment="Bottom">
<Grid>
<Button Content="Login" HorizontalAlignment="Right" VerticalAlignment="Center" Padding="10,1" Margin="0,10,15,10"/>
</Grid>
</Border>
Wieso wird der Rahmen so unscharf erstellt?
Grüße
Hallo,
ich habe es immer noch nicht so verstanden 😕
Also, wenn ich das so mache, erhalte ich keine Fehlermeldung:
ISession os = DatabaseSession.OpenSession;
using (TR == os.BeginTransaction) {
Liste = os.CreateCriteria(typeof(T)).List<T>();
TR.Commit();
}
return Liste;
Wenn ich das OS als Using mache, erhalte ich immer die N+1 Fehlermeldung?
In Mapping wo ich die "References" gesetzt habe, habe ich ".Fetch.Join()" angegeben.
Kann mir hier jemand Helfen?
Grüße
Hi Rabban,
das ist ein Tippfehler, da ich nicht die Originalen Namen genommen habe, aber danke für die Info.
Grüße
Hi,
ok, das habe ich dann falsch verstanden. Ich verstehe trotzdem nicht was ich da ändern soll?
So schaut meine Domain/Mapping aus
//Mapping
References(x => x.Roles).Column("rID").Cascade.All();
//Domain
public virtual Roles Role { get; set; }
und diese frage ich ganz normal ab über
session.CreateCriteria<T>.List<T>();
Grüße
Hallo,
habe gerade meine Anwendung mit NHibernate Profiler überwacht.
Dieser empfiehlt mir kein Using zu verwenden, wenn ich eine Session öffnen möchte.
Falsch (laut URL: http://hibernatingrhinos.com/products/NHProf/learn/alert/SelectNPlusOneInTheSameRequest)
Using OS As ISession = DatabaseSession.OpenSession
Wird nach dem Using die Variable OS nicht gelöscht? Ich mache noch zusätzlich das Close. Ist das jetzt falsch oder richtig?
Grüße
Hallo,
wenn ich einen Eintrag in die Tabelle Products hinzufüge,
wird auch ein Update auf die Tabelle Stores und Categories ausgeführt.
Kann mann das so ändern, das wenn ich einen Insert mache und wenn in der FK für die andere Tabelle die Id = 0 steht, das ein neuer Eintrag gemacht wird und bei <>0, das eben **nichts **passiert?
References(x => x.Store).Column("storeID").Fetch.Join().Cascade.SaveUpdate();
References(x => x.Category).Column("categoryID").Fetch.Join().Cascade.SaveUpdate();
// Category
HasMany(<>).KeyColumn("storeID").Inverse().Cascade.SaveUpdate();
Grüße
Klar - ist eine Möglichkeit. Wie gesagt: Die "richtige" Lösung gibt es nie.
Die Namensgebung des Repository Projektes ist aber IMHO etwas verwirrend, da ein Repository im Normalfall eine Klasse für den DB-Zugriff darstellt.
Upps, ok. Danke.
Wenn ich das jetzt so in etwa aufteile, habe ich schonmal ne grobe Struktur 😃
Hey Coffeebean,
danke für deine Antwort.
Ich habe laange so Programmiert (Arbeit, mehr möchte ich hier nicht eingehen, ich möchte mich selber weiterbilden da ich dort keine Unterstützung erhalte (in Form von Bücher, Zeit etc.)):
Ich habe mir das NHibernate mal angeschaut.
Habe ich das richtig verstanden, meine Tabellen sowie derren Spaltennamen, erstelle ich in Klassen? Ist das auch empfehlenswert wenn ich SQLite verwenden möchte?
Was ich noch nicht verstehe, ich hatte Stored Procedures, kann ich die hier vergessen?
Wie schaut es aus wenn ich abfragen wie Inner Join habe?
Ich habe mir das jetzt anfangs so vorgestellt:
Projekt -> Hier ist die UI (WPF oder WinForms)
Projekt.Service -> Die ganzen Interface
Projekt.Domain -> Da sind die Klassen der DB (NHibernate )
Projekt.Repository -> Hier werden die Klassen erstellt (durch die Interfaces)
Puh, das wird nicht ganz leicht 😃
Ich werde mal versuchen wie weit ich komme 😃
Danke aber euch beiden schonmal ;I
Hey winSharp93,
danke für deine Antwort.
Ich wollte mit WinForms arbeiten da ich mich mit WPF nicht auskenne.
Wo würden dann die Interfaces reinkommen?
Mit NHibernate und LinqToEntities habe ich noch nie gearbeitet, kannst du mir gute Tutorials auf deutsch empfehlen? Bisher habe ich eine Datenbank Klasse die, die Verbindung zu DB herstellt sowie z.B. DataTable's zurückgibt oder Befehle ausführt, so habe ich es bisher gemacht.
Grüße
Hallo,
ich muss eine neue Anwendung erstellen und da stellt sich mir die Frage, wie die Projekt (Solution) Struktur ausschauen soll. Da ich in noch nie mit Unity bzw. mit Schnittstellen gearbeitet habe, habe ich ein paar Fragen.
Kurz zur Anwendung, diese um es einfach auszudrücken, verwaltet Listen. Es gibt
In der Datenbank wird nur mit Stored-Procedures gearbeitet. Zum Loggen verwende ich NLog und die Datenbank soll MySQL oder PostgreSQL sein.
Ich möchte das Microsoft Unity benutzen um evtl. Später die Datenbank oder den Logger tauschen zu können. Ich habe mir das Buch sowie nen Webcast zu diesen Thema angeschaut (Unity: Einführung in Dependency Injection und Foundations of Programming Ebook)
Zu meinen Fragen nochmal:
Vielen Dank vorab und Grüße
Hallo,
ich habe in einer Projektmappe 2 Projekte:
In der Test.Core habe ich einen Ordner "DB" in dem sich die Lokale SQL CE Datenbank befindet.
Wenn ich meine Anwendung veröffentliche, anschließend Installiere und in den Installierten Ordner schaue, finde ich keinen Ordner in dem die DB ist.
Ich habe auch schon in Anwendungsdaten unterm Projekt geschaut, die wird dort nicht aufgelistet.
Danke und Grüße
Hallo,
ich wollte fragen, wie Ihr euer Code schützt gegen das Dekompilieren?
Ich habe in meiner Anwendung z.B. das Passwort für die Lokale SQL CE Datenbank in einer Variable hinterlegt usw.
Ich habe einiges im Internet gefunden, aber nur Programme die die fertige .DLL schützen. Ich arbeite unter VS 2012 Express, wenn ich mein Projekt veröffentliche, sehe ich keine .DLL Daten.
Danke und Grüße
Ist das hier ein Bsp. für SRP: SOLID design principles in .NET: the Single Responsibility Principle ?
@MrSparkle
Ja. Das habe ich jetzt nun verstanden 😃
Mal abgesehen von DI/IoC, die Art und Weise wie ich meinen Code oben habe, empfiehlt es sich hier das alles in einer Klasse zu machen?
Ich habe das so gemacht, weil ich gedacht habe, ich bin universeller, z.B. Habe ich 3 andere Klassen die Eigentlich nur die Werte von z.B. der Klasse TestData brauchen, darum habe ich die Properties und Funktionen getrennt.
Ok. Ich hätte auch ein Struct machen können hmmm 😕
Super, danke dir, werde mir das mal durchlesen.
Mal eine generelle frage, ich habe dieses Weise in fast all meinen Klassen gemacht (Funktionen und Properties (=Aus der Datenbank und zusätzliche Infos) getrennt.
Ist das so zu empfehlen oder nicht?
Kennst du vielleicht gute tuts wo dies erklärt wird (auf DE 😄)
Wenn ich das richtig verstanden habe, Beispiel, ich biete eine Schnittstelle an, wenn ein Benutzer eine andere Datenbank (als die Verwendete von mir) für das von mir geschriebene Programm verwenden möchte.
Hallo,
ich möchte mich in das Thema Dependency Injection einarbeiten und meine Klassen anfangen zu verändern.
Habe schon einiges angeschaut, wurde leider nie richtig schlau.
Ich fang mal am besten an, wie ich es bisher habe.
Klasse: TestData
public class TestData
{
public int ID { get; set; }
public string AName { get; set; }
public System.DateTime Created { get; set; }
public TestData()
{
}
}
Dies habe ich wie folgt in meiner Klasse: Test verwendet
public class Test
{
private TestData TD = new TestData();
public Test(TestData TD)
{
this.TD = TD;
}
public IEnumerable<TestData> GetTestList()
{
List<TestData> LTD = new List<TestData>();
try {
//code :)
foreach (DataRow DR in DT.Rows) {
TestData _TD = new TestData();
_TD.ID = DR("id");
_TD.AName = DR("AName");
_TD.Created = DR("created");
LTD.Add(_ud);
}
} catch (Exception ex) {
//code :)
}
return LTD;
}
}
Wie gehe ich jetzt nun richtig vor, wenn ich ein Interface/Schnittstelle hierzu machen möchte, so das die Funktion auch richtig funktioniert?
Danke vorab schonmal 🙂
PS: Den Code habe ich eigentlich in VB 😁
Stimmt, danke dir 😉
Vom wirtschaftlichen Aspekt müssen IMHO Beträge immer mit mindestens 4 Nachkommastellen gespeichert werden. Sonst heimst du dir etliche Rundungsfehler ein.
@Abt Danke für die Info 😉
Aufm SQL CE gibt muss ich den Typ "Nummeric" mit 2 Dezimalstellen nehem.
Danke euch 😃
Hey,
ok. In meiner Anwendung muss ich rechnen. Wenn ich in der DB Money wähle, entspricht das in Code Decimal?
Ich denke aber trotzdem das ich Decimal nehmen werde.
Hallo,
ich benötige in meiner Datenbank ein Feld in dem Werte (Betrag z.B. aus einer Rechnung) gespeichert werden.
Was empfiehlt sich hier, Money oder Decimal und was sind die Unterschiede?
Grüße