如果我(例如)有相关团队成员的团队对象
**如何从团队中访问和更新团队成员
**如何更新团队成员?保存团队对象是否可以保存团队成员的更改
**如何向团队添加成员?我只是创建一个新成员,将团队ID分配给外键并保存?或者是否有更面向对象的方式(例如team.Add(teamMember))
答案 0 :(得分:3)
子代码生成将读取表中的外键关系,并在表类中创建所需的辅助方法。 Northwind Product类与OrderDetail类具有PrimaryKey关系。 Subsonic生成方法
public Northwind.OrderDetailCollection OrderDetails()
将OrderDetail行作为OrderDetailCollection获取。这是一个BindingList,您可以根据需要进行更改,并调用SaveAll()来保存列表。没有深度保存,因此保存产品不会保存相关的OrderDetail行。
[Test]
public void Demo_Product_OrderDetails()
{
Product product = new Product(3); // Read an existing row.
OrderDetailCollection orderDetails = product.OrderDetails();
Assert.IsTrue(orderDetails.Count == 12);
foreach(OrderDetail orderDetail in orderDetails)
{
orderDetail.Discount -= 0; // Do something meaningful.
}
OrderDetail newDetail = new OrderDetail();
newDetail.ProductID = 3;
newDetail.OrderID = 10248;
newDetail.UnitPrice = 7.00m;
newDetail.Discount = 0.10f;
newDetail.Quantity = 12;
orderDetails.Add(newDetail);
orderDetails.SaveAll();
orderDetails = product.OrderDetails();
Assert.IsTrue(orderDetails.Count == 13);
OrderDetail.Destroy(newDetail.OrderID);
orderDetails = product.OrderDetails();
Assert.IsTrue(orderDetails.Count == 12);
}