如何使用fluentnhibernate删除表的内容?

如何使用fluentnhibernate删除表的内容?,nhibernate,fluent-nhibernate,fluent-nhibernate-mapping,Nhibernate,Fluent Nhibernate,Fluent Nhibernate Mapping,我使用fluent nHibernate进行以下映射: public class ContentTagMap: ClassMap<Employee> { public EmployeeMap() { Id(t => t.Id); Map(t => t.Name); HasManyToMany(t => t.Company); } } public class CompanyMap: Class

我使用fluent nHibernate进行以下映射:

public class ContentTagMap: ClassMap<Employee>
{
    public EmployeeMap()
    {
        Id(t => t.Id);
        Map(t => t.Name);
        HasManyToMany(t => t.Company);
    }
}

public class CompanyMap: ClassMap<Company>
{
    public HelpMap()
    {
        Id(h => h.Id);
        Map(h => h.CompanyName).Length(6000);
        Map(h => h.address).Length(6000);
        HasManyToMany(h => h.Employee);
    }
}
公司表

Id    Name
1     John
2     MAX
Id    CompanyName   address
1      HTC           ABC
2      HTC2          India
Employee_Id     Company_Id
1               1
2               1
员工与公司表

Id    Name
1     John
2     MAX
Id    CompanyName   address
1      HTC           ABC
2      HTC2          India
Employee_Id     Company_Id
1               1
2               1

我如何删除Id为1的员工?

除非我误解了您应该问的问题:

如何使用NHibernate删除表的内容? Fluent NHibernate只是一个帮助映射实体的工具NHibernate是您用来创建、读取、更新和删除数据的工具。无论如何:

9.5。删除持久对象

ISession.Delete()将从数据库中删除对象的状态。属于 当然,您的应用程序可能仍然保留对它的引用。所以是 最好将Delete()视为使持久实例暂时化

您可能还希望在映射中的多对多关系(
HasManyToMany
)上定义级联样式

如果在多对多中使用
Cascade.SaveUpdate
,则无论何时删除关系一侧的实体,都会删除该实体和任何关系。如果删除关联(例如,如果从
公司
中删除
员工
),则只会删除关系(
员工与公司
)。这是我发现在多对多关系中通常有效的方法

有关在Fluent NHibernate中映射和使用多对多关系的更多详细信息,请参阅本文