2010-12-16 3 views
2

Ich verstehe es einfach nicht, und ich bin mir nicht einmal sicher, ob ich in die richtige Richtung schaue. ...NET, C#, LINQ, SQL und OR-Mapping - Ich verstehe es einfach nicht :(

Das Problem:

So gibt mein C# -Anwendung, die ich auf eine Online-MySQL-Datenbank via SSH verbinden Jetzt Abfrage-Material auf ihm mit dem MySQL Connector/Net-Treiber (http betreibe ich kann..: . //dev.mysql.com/downloads/connector/net/5.2.html) Alles funktioniert gut

Jetzt möchte ich auf einige oder-Mapping:.. ich die querys auf lokalen Einheiten ausgeführt werden soll

Beispiel: In der Online-Datenbank gibt es die Tabelle 'order' mit den Attributen 'order_total' und 'order_date'.

Jetzt laufe ich ein "FROM Auftrag * SELECT"

Was kommt als nächstes? Wie kann ich dieses Ergebnis in eine Entität umwandeln und dann die Änderungen zurückschreiben, nachdem ich sie geändert habe? Alles, was ich bisher herausfinden konnte, ist, dass es etwas mit LINQ und (vielleicht) XML zu tun hat. Aber ich einfach nicht die ganze Sache :(

ich jeden Hinweis oder vielleicht ein kurzes Beispiel schätzen :)

Vielen Dank im Voraus!

Antwort

2

Was Sie denken, denke ich, ist Linq zu Sql. Aber das funktioniert NUR für SQL Server.

http://www.mikeborozdin.com/post/LINQ-To-MySQL.aspx

So Ihre einzige Option Objekte aus den Daten zu erstellen, die Sie von Ihrem MySQL-Server, und dann Standard-Linq zu Objekten tun, um Ihre Zuordnung zu tun.

hoffe, das hilft, Cheers,

+0

Vielen Dank! Ich denke, das ist genau das, was ich gesucht habe ... Ich hoffe :) – Quasdunk

+0

Das OP versucht, ORM zu verstehen, etwas, das mit MySQL funktioniert. Ich glaube, er ist nur verwirrt darüber, was ORM ist und LINQ to SQL ist die falsche Richtung für MySQL.SubSonic ist besser geeignet http://subsonicproject.com/ –

0

Klingt wie Sie Linq to Entities wollen, die Unterstützung auf andere Datenbanken als SQL Server tut. Sie müssen einen MySQL-Treiber finden - ich kann ein paar sehen, wenn ich online suche (DevArt, Connector/NET, usw.). Habe es nicht selbst versucht.

0

Es gibt viele ORMs, die Linq Queryables unterstützen. Die meisten von ihnen arbeiten mit einem ADO-Treiber; Wenn ein DbProvider-Typ vorhanden ist, der Ihr DBMS unterstützt, und Sie einen ConnectionString angeben können, der Sie zur DBMS-Instanz führt, können Sie einen davon verwenden.

Schauen Sie sich Fluent NHibernate an. IMO sollte es einen einfach zu implementierenden, aber erweiterbaren Mapper bieten, der Ihr bestehendes Domänenmodell verwendet, keine DTO-Schicht erzeugt und am besten nicht viel XML benötigt.

0

Beginnen Sie zunächst mit ADO.NET. Es kann tun, was Sie wollen.

Wenn Sie etwas leistungsfähigeres wollen, schauen Sie sich ein ORM wie NHibernate oder Entity Framework an. Sie benötigen Linq nicht, aber wenn Sie Linq möchten, müssen Sie ein ORM verwenden. LinqToSql ist ein ORM, das nicht mit MySQL funktioniert. Suchen Sie daher nach "Linq" und nicht nach "LinqToSql".

Es gibt eine Tonne Proben, wie man das macht, wenn Sie wissen, wonach Sie suchen.