SubSonic - Kann jemand ein Beispiel für die Verwendung von SubSonic SimpleRePository geben, um eine Liste/ein Array von Objekten zu bestehen?

StackOverflow https://stackoverflow.com/questions/1610362

Frage

Ich suche nach möglichen Möglichkeiten, die folgenden Klassen bestehen zu können. Unterschall SimpleRePository Sieht so aus, als ob es funktionieren könnte, und die Leute haben gesagt, dass es sollte, als ich a fragte Allgemeine Frage.

Aber ich konnte kein einziges Beispiel dafür finden, wie es geht - oder zumindest eines, das ich verstehen konnte.

Kann mich jemand auf ein Beispiel verweisen oder mir sagen, wie ich Subsonic verwenden könnte, um die folgenden Klassen einer Datenbank zuzuordnen?

Beachten Sie, dass Ich habe die Datenbank nicht gestaltet - Ich hoffe, dass Subsonic das für mich tun wird, fauler Gras, der ich bin ...

Bearbeiten: Nur um den vorherigen Punkt zu erweitern-ich hoffe, dass SubSonic mein Objektmodell in eine relationale DB konvertiert und mit allen implizierten Eltern-Kind- und Eins-zu-viele-Beziehungen umgegangen ist. Derzeit denke ich nicht, dass SubSonic dies tun kann. Aber auch a Arbeitsbeispiel (kein Codefragment), das ausdrücklich Fremdschlüssel usw. im Objektmodell verwaltet, wäre nützlich.

Einige Hintergrundinformationen und Notizen zu den Klassen, die ich bestehen möchte:

  • Sie werden von der Software verwendet, die einige Messgeräte steuert
  • das Daten Klasse enthält eine Reihe von einer Reihe von Rundata Objekte aufgerufenRunfn, was die Daten für bis zu 10 individuelle Messläufe enthält
  • beachten Sie, dass Rundata Enthält auch eine Reihe von Schwimmern - Rawy
  • Bei Bedarf können wir die Arrays in einen anderen Sammlungsart ändern (Liste <> usw.)
  • Entwicklung in C#, VS2008, für SQL Server Express

Bearbeiten: Ich verwende SubSonic 3.0.0.3.

public class RunData

{
    public DateTime StartDateTime { get; set; }
    public TimeSpan ElapsedTime { get; set; }

    private float[] _rawY;
    public float[] RawY
    {
        get
        {
            return _rawY;
        }
        set
        {
            _rawY = value;
        }
     }
 }

public Data
{
    public string OperatorId { get; set; }
    public string SampleId { get; set; }

    // CAN SUBSONIC DEAL WITH THIS ARRAY OF OBJECTS???
    private RunData[] _runFn;
    public RunData[] RunFn
    {
        get
        {
            return _runFn;
        }
        set
        {
            _runFn = value;
        }
    }
}
War es hilfreich?

Lösung 2

Um meine eigene Frage zu beantworten ...

Trotz einiger anderer Postings fand ich fest, dass subSonic simpleRepository automatisch ein relationales Schema aus einem Objektmodell generieren kann. Dies stellt sich heraus, dass es nicht der Fall ist. Siehe Rob Conerys Antwort auf diese Frage:

Beziehungen und faule Ladung in den Subsonic-3-0

Er arbeitet jedoch daran, und es wird das Warten wahrscheinlich wert sein.

In der Zwischenzeit habe ich mich angesehen Fließender Nhibernate, Und das tut das, was ich will, direkt aus der Box. Ihr Quellcode -Download enthält ein Demo -Projekt namens Beispiele. Ihre Dokumentation scheint auch viel reifer zu sein.

Nhibernate erscheint jedoch insgesamt auch komplexer, daher wird es interessant sein zu sehen, was sich mit Subsonic entwickelt.

Bearbeiten: Hier ist ein nützlicher Link, der zeigt, wie man ausländische Schlüssel in SimplEPository -

SubSonic-3-SimpleerePository

Ich habe es nicht selbst ausprobiert, aber sieht so aus, als würde es tatsächlich funktionieren.

Andere Tipps

Ich bin mir nicht sicher, ob ich hier alles beantworten werde, was Sie hier fragen, aber wenn ich dies mit Simplerepository implementieren würde, hätte ich die folgenden Modelle:

public class RawYValue
{
  public int Id { get; set; }
  public int RunDatumId { get; set; }
  public float YValue { get; set; }
}

public class RunDatum
{
   var repo = new SimpleRepository();

   public int Id { get; set; }
   public int DataId { get; set; }
   public DateTime StartDateTime { get; set; }
   public TimeSpan ElapsedTime { get; set; }

   public IQueryable<RawYValue> RawYValues 
   { 
     get { return repo.Find<RawYValue>(rawYValue => rawYValue.RunDatumId == Id); }
   }
 }

public Data
{       
  var repo = new SimpleRepository();

  public int Id { get; set; }
  public string OperatorId { get; set; }
  public string SampleId { get; set; }

  // CAN SUBSONIC DEAL WITH THIS ARRAY OF OBJECTS???
  public IQueryable<RunDatum> RunData 
  { 
     get { return repo.Find<RunDatum>(runDatum => runDatum.DataId == Id); }
  }
}

Ich kann mir vorstellen, dass SubSonic Probleme haben wird, einige der Namen zu plurieren, sodass Sie sie möglicherweise ändern müssen, aber hoffentlich wird dies Ihnen den Einstieg bringen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top