제발, 도와주세요! Oid 및 CertRequest 테이블에서 개체 및 종속성을 삭제할 수 없습니다.Fluent Nhibernatev를 사용하여 많은 관계에서 삭제
내가 가진 후속 :
의 Oid
공용 클래스의 Oid { public 가상 INT 이드가 {얻을; 보호 된 집합; }
공용 가상 int RowVersion {get; 세트; }
public virtual string Code {get; 세트; } public virtual string Name {get; 세트; } }
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();
}
}
CertRequest
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);
는 아무것도하지 않습니다.
모든 팁 ...
UPDATE는
미안 해요, 난 방법에 샤프 아키텍처 및 트랜잭션 속성을 사용했다 없습니다.
저는 한 번의 트랜잭션으로 모든 작업을 도와줍니다! 감사! – Artemoniks