Subsonic 拯救父母和子女
在我的模式中,有两个表具有PK和FK关系。我使用亚音速发生器创建了DAL。如果我创建了一个新的父级及其子级,我应该如何保存它们?单独还是一次性 e、 gSubsonic 拯救父母和子女,subsonic,Subsonic,在我的模式中,有两个表具有PK和FK关系。我使用亚音速发生器创建了DAL。如果我创建了一个新的父级及其子级,我应该如何保存它们?单独还是一次性 e、 g 我尝试了上面的方法,但没有效果,因为ChildCollection没有其父级ID。是我必须自己为每个子级分配父级ID,还是有一个一次性保存的选项?您可以使用自定义重载保存函数的分部类来提供所需的功能 public partial class Class1 { public void Save(bool childern) {
我尝试了上面的方法,但没有效果,因为ChildCollection没有其父级ID。是我必须自己为每个子级分配父级ID,还是有一个一次性保存的选项?您可以使用自定义重载保存函数的分部类来提供所需的功能
public partial class Class1
{
public void Save(bool childern)
{
Save();
if (childern)
{
//based on primary/foreign key SubSonic provides
//methods to fetch child collections related to
//this (primary key) table.
ChildernCollection col = Childerns();
col.SaveAll();
}
}
}
假设:您的主键是由数据库自动生成的。如果是这样,您首先需要做的是保存()父对象,然后在ChildrenCollection中的每个对象中填充ParentID属性。完成此操作后,您将能够保存()您的ChildrenCollection
Parent.Save();
ChildCollection.ForEach(x => x.ParentID = Parent.ParentID);
ChildCollection.SaveAll();
Parent.Save();
ChildCollection.ForEach(x => x.ParentID = Parent.ParentID);
ChildCollection.SaveAll();