Laden...
I
Benutzerbeschreibung

Forenbeiträge von ilcsh Ingesamt 25 Beiträge

08.01.2014 - 11:03 Uhr

Ah, ok.
D.h. ich mache SnapsToDevicePixels="True" oder gebe eine höhe an?

08.01.2014 - 10:47 Uhr

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

17.12.2013 - 00:29 Uhr

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

13.12.2013 - 17:27 Uhr

Hi Rabban,

das ist ein Tippfehler, da ich nicht die Originalen Namen genommen habe, aber danke für die Info.

Grüße

13.12.2013 - 12:05 Uhr

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

13.12.2013 - 01:51 Uhr

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

13.12.2013 - 00:49 Uhr

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

28.11.2013 - 00:02 Uhr

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 😃

27.11.2013 - 22:12 Uhr

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.)):

  • Projektname.Klassenbibliothek (clsProjektname)
  • Projektname.App (WinForms)

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)

27.11.2013 - 21:51 Uhr

Puh, das wird nicht ganz leicht 😃
Ich werde mal versuchen wie weit ich komme 😃

Danke aber euch beiden schonmal ;I

27.11.2013 - 19:40 Uhr

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

27.11.2013 - 19:13 Uhr

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

  • Login
  • Main -> Übersicht der Listen mit Filter Funktion
  • Neue Liste anlegen (Beschreibung, Datum sowie Kategorie)
  • Passwort/Namen ändern
  • Export (PDF)
  • und noch einige kleine Funktionen

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:

  • Wie könnte hier die Projekt (Solution) Struktur ausschauen (Welche Projektmappen gibt es? Bild)
  • Ist hier ein 3-Schicht-Modell gut (HowTo: 3-Tier / 3-Schichten Architektur)
  • SOLID design principles?
  • Domain Driven Design pattern?

Vielen Dank vorab und Grüße

18.10.2013 - 11:16 Uhr

Hallo,

ich habe in einer Projektmappe 2 Projekte:

  • Test
  • Test.Core

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

18.10.2013 - 11:12 Uhr

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

09.10.2013 - 20:19 Uhr

Egal jetzt 😄

09.10.2013 - 20:11 Uhr

@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?

09.10.2013 - 19:31 Uhr

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 😕

09.10.2013 - 19:12 Uhr

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?

09.10.2013 - 17:49 Uhr

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.

09.10.2013 - 16:56 Uhr

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 😁

09.10.2013 - 15:20 Uhr

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 😉

09.10.2013 - 14:18 Uhr

Aufm SQL CE gibt muss ich den Typ "Nummeric" mit 2 Dezimalstellen nehem.

Danke euch 😃

09.10.2013 - 13:37 Uhr

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.

09.10.2013 - 12:04 Uhr

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