- 有什么方法可以告诉 SubSonic 关系(只有外键?或其他方法)?
如果我有(例如)一个包含相关团队成员的团队对象
** 我如何访问和更新团队中的团队成员
** 如何更新团队成员?保存团队对象是否会保存团队成员更改
** 如何将成员添加到团队中?我是否只是创建一个新成员,将团队 ID 分配给外键并保存?还是有更面向对象的方式(例如team.Add(teamMember))
问问题
1193 次
1 回答
3
Subsonic 代码生成将读取表中的外键关系并在表类中创建所需的辅助方法。Northwind Product 类与 OrderDetail 类具有 PrimaryKey 关系。Subsonic 生成方法
公共 Northwind.OrderDetailCollection OrderDetails()
将 OrderDetail 行作为 OrderDetailCollection 获取。这是一个 BindingList,您可以根据需要进行更改,并调用 SaveAll() 来保存列表。没有深度保存,因此保存 Product 不会保存相关的 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);
}
于 2009-05-08T06:55:20.493 回答