【发布时间】:2013-09-05 15:36:44
【问题描述】:
请帮帮我!我无法删除 Oid 和 CertRequest 表中的对象和依赖项。
我已经关注了:
老样子
公共类Oid
{
公共虚拟 int Id { 获取;受保护的集合; }
公共虚拟 int RowVersion { 获取;放; }
公共虚拟字符串代码 { 获取;放; }
公共虚拟字符串名称 { 获取;放; }
}
public class OidMap : IAutoMappingOverride<Oid>
{
public void Override(AutoMapping<Oid> mapping)
{
mapping.Map(c => c.Code).Not.Nullable().Unique();
mapping.Map(c => c.Name).Not.Nullable().Length2000();
}
}
证书请求
public class CertRequest
{
public virtual int Id { get; protected set; }
public virtual int RowVersion { get; set; }
public virtual string LastName { get; set; }
public virtual string FirstName { get; set; }
public virtual string MiddleName { get; set; }
public virtual ICollection<Oid> Oids { get; set; }
}
public class CertRequestMap : IAutoMappingOverride<CertRequest>
{
public void Override(AutoMapping<CertRequest> mapping)
{
mapping.Map(c => c.LastName).Nullable().Length2000();
mapping.Map(c => c.FirstName).Nullable().Length2000();
mapping.Map(c => c.MiddleName).Nullable().Length2000();
mapping.HasManyToMany(c => c.Oids)
.Table("CertRequestToOid")
.ParentKeyColumn("CertRequestId")
.ChildKeyColumn("OidId");
}
}
删除代码:
certRequest.Oids.Clear();
_certRequestRepository.SaveOrUpdate(certRequest);
_certRequestRepository.Delete(certRequest);
什么都不做。
任何提示...
更新
对不起,我没有说我在方法上使用了 Sharp-Architecture 和 Transaction 属性。
【问题讨论】:
-
我帮助在一个事务中完成所有操作!谢谢!
标签: c# nhibernate fluent-nhibernate fluent sharp-architecture