Eltern-Kind-Objekt in SimpleRepository
-
21-09-2019 - |
Frage
Wie wäre es in Subsonic der SimpleReporitory arbeiten, wenn ich ein 1-Beziehung zwischen Objekten?
Lage sein, haben wollteHätte ich eine Brücke Objekt erstellen und dann meine Eltern bauen Objekt zur Laufzeit, oder ist diese Unterstützung eingebaut?
Was ich suche ist der folowing:
Adams Beispiel Shop ...
Public Class Shop Private m_id As Integer Private m_Name As String Private m_Employees As List(Of Employee) Public Property Id() As Integer Get Return m_id End Get Set(ByVal value As Integer) m_id = value End Set End Property Public Property Name() As String Get Return m_Name End Get Set(ByVal value As String) m_Name = value End Set End Property Public Property Employees() As List(Of Employee) Get Return m_Employees End Get Set(ByVal value As List(Of Employee)) m_Employees = value End Set End Property End Class Public Class Employee Private m_id As Integer Private m_Name As String Public Property Id() As Integer Get Return m_id End Get Set(ByVal value As Integer) m_id = value End Set End Property Public Property Name() As String Get Return m_Name End Get Set(ByVal value As String) m_Name = value End Set End Property End Class
Haupt Bits:
Dim repo As New SimpleRepository("SubSonicObjectTest", SimpleRepositoryOptions.RunMigrations) Dim emplyee1 As New Employee emplyee1.Name = "Martin" Dim emplyee2 As New Employee emplyee2.Name = "Adam" Dim shop As New Shop shop.Name = "Sub Sonic Store" shop.Employees = New List(Of Employee) shop.Employees.Add(emplyee1) shop.Employees.Add(emplyee2) repo.Add(Of Shop)(shop)
ich denke, die 3-Tabellen erstellen soll:
Geschäfte
Mitarbeiter
ShopsToEmployees (oder eine andere Namenskonvention)
Aber ich nur Kanäle Tabelle!
Lösung
Ich bin Aktualisierung der SimpleRepo Sachen zur Zeit automatisch verknüpften Tabellen auf Sammlungen basiert. Nicht leicht zu bestimmen viele / viele vs 1 / viele - aber ich habe einige Ideen:.)
Andere Tipps
Um eine Eins-zu-Beziehung erstellen Sie nur das Objektmodell erstellen müssen, SubSonic sollte den Rest für Sie tun z.
public class Shop
{
public int Id { get; set; }
public String Name { get; set; }
public List<Employee> Employees { get; set; }
}
public class Employee
{
public int Id { get; set; }
public String Name { get; set; }
}
EDIT: Dies sollte zwei Tabellen erzeugen, wenn Sie eine Migration laufen nicht 3. Die 3 drei Tabellen, die Sie in Ihrer Frage beschreiben eine viele zu viele Beziehung darstellen würde. Auch in Ihrem Beispiel sind Sie nicht Ihre Mitarbeiter zu speichern, nicht SubSonic nicht Kaskade speichert, so dass Sie sparen müssen, um Ihren Shop-dann die Mitarbeiter hinzufügen, um es und BatchSave die Mitarbeiter.