Frage

Ein typisches Stored Procedure in unserem System übernimmt rund 20 oder so Parameter. Es gibt keine Möglichkeit, entweder diese gespeicherten Prozeduren Refactoring. Ich habe Zuflucht im Grunde meinen eigenen Code-Generator zu schreiben, die diese SPs in (Datenbankanbieter Agnostiker) „Command“ Objekte Wraps, mit ihren öffentlichen Eigenschaften der SP Parametern entsprechen. Es funktioniert, aber ich würde eine dritte Partei bewährte Lösung bevorzugen.

Kann jemand etwas empfehlen? Ich habe nicht eine gefunden, die OleDB und gespeicherte Prozeduren unterstützt.

Edit: Ich brauche OleDb Konnektivität wegen SQL 6.5 (es glauben oder nicht). ADO.NET kann nicht auf SQL 6.5 verbinden. Auch dies ist eine .NET 2.0-Anwendung, so LinqToSql ist von keinerlei Nutzen für mich.

Edit2: Ich habe bereits nHibernate und iBatis versucht. Keiner von ihnen passen meine Bedürfnisse. Das letzte Mal habe ich versucht nHibernate es erforderlich, dass die SP gesetzt ein Ergebnis zurück. Das ist nicht der Fall mit meinem SPs. Beide erfordern mich auch die Parameter manuell angeben.

War es hilfreich?

Lösung

Ich habe Erfahrung mit 3 ORM Schichten:

Alle drei sind frei, Unterstützung OleDb Verbindungen und Stored Procedures.

Subsonic - wurde ein speziell für Web-Anwendungen gebaut. Es ahmt eine Menge von dem, was Ruby On Rails tut. Sie Migrationen gerade hinzugefügt haben. Subsonic ist das leichteste der drei. Es ist ein bisschen schwieriger für WinForms zu verwenden, aber nicht so schwer wie ich dachte, es wäre. Es kommt mit einem netten UI-Tool, um den Code zu generieren und Datenbankeinstellungen beibehalten. Dies ist die einzige, die Unterstützung für verschiedene Datenbanken hat. Ich habe es mit SQLite, SQL Server CE verwendet, und SQL Server.

CSLA.NET - Das kann man so ziemlich handhaben so ziemlich alle neuen und shinny .NET-Technologien. Ich weiß, dass der Autor hat soeben Unterstützung für WCF, WPF und Silverlight. Dies ist, was ich benutze, wenn ich brauche sehr schweres Heben mit enterprisey Typ-Anwendungen. Es hat viele nette Features wie unbegrenzte Objekt rückgängig machen, die Fähigkeit, Sammlungen zu markieren als nur lesen, und die Fähigkeit, sich zu bewegen und Anker Objekte, wohin Sie wollen. Dies ist die engste Sie bekommen, was JBoss funktioniert auf Java.

Net Tiers - ich bin kein großer Fan, aber es wird den Job zu erledigen. Es ist leichter als CSLA, aber immer noch schwerer als Subsonic.

Ich würde auch NHibernate zu erwähnen, Castle Active Record und Microsoft Enterprise Bibliothek . Ich habe nicht viel Erfahrung mit diesen aber.

Andere Tipps

Von dem, was ich ADO .NET Entitry Rahmen auf gespeicherte Prozeduren litle Unterstützung hat gehört habe ... LINQ2SQL Sie können es funktioniert, kann aber somekind eines Proxy-Klasse erfordern ... NHibernate und iBatis ist die beste Wahl ...

Alternativen:

  1. LINQ to SQL
  2. ADO.NET Entity Framework
  3. NHibernate
  4. Ihre Wahl)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top