父母与子女对象SimpleRepository
-
21-09-2019 - |
题
如何会在亚音速的SimpleReporitory工作,如果我希望能够有对象之间的1对多的关系?
我将不得不建立一个桥梁对象,然后在运行时建立我的父对象,或者是这种支持内置的?
我所寻找的是如下因素:
亚当的实施例商店...
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
主要位:
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)
我认为这应该创建3个表:
商店,点击 员工点击 ShopsToEmployees(或一些其它命名约定)
但我只得到一个频道表!
解决方案
我目前更新SimpleRepo东西来自动创建基于集合连接的表。不容易确定多/多VS 1 /许多 - 但我有一些想法:)
其他提示
要创建一个一对多的关系,你只需要创建对象模型,亚音速应该为你e.g做休息。
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; }
}
编辑:这应该生成两个表,当您运行迁移不3.您在您的问题描述3个三个表将是一个多对多的关系。另外,在你的榜样你不保存您的员工,亚音速不级联保存,所以你需要保存你的店铺,则员工添加到它和BatchSave雇员。
不隶属于 StackOverflow