Tôi mới dùng Fluent nHibernate và muốn biết, nếu tôi có hai lớp Profile và Email được ánh xạ từ một đến nhiều như sau ... Tôi muốn xác định bản đồ nHibernate lưu loát để khi Hồ sơ bị xóa, Email sẽ vẫn còn trong DB, với một bộ khóa để Null. Hoặc nói cách khác là có "BẬT DELETE SET NULL"Làm thế nào để thiết lập "cascade xóa" tùy chọn để "Set Null" trong Fluent NHibernate?
ALTER TABLE [dbo].[Email] WITH CHECK ADD CONSTRAINT [FK4239B252F6539048] FOREIGN KEY([ProfileId])
REFERENCES [dbo].[Profile] ([Id])
ON UPDATE SET NULL
ON DELETE SET NULL
Mọi trợ giúp đều được đánh giá cao!
public sealed class ProfileMapping : ClassMap<Profile>
{
public ProfileMapping()
{
// Some other fields here ...
HasMany(x => x.Emails);
}
}
public class EmailMapping : ClassMap<Email>
{
public EmailMapping()
{
Id(x => x.Id).GeneratedBy.GuidComb();
Map(x => x.Address).Not.Nullable().UniqueKey("UX_EmailAddress").Length(254);
Map(x => x.Confirmed);
}
}
Đó là những gì tôi nghĩ .. Cảm ơn bạn rất nhiều! –