小编Ale*_*sov的帖子

如何在Fluent NHibernate中将"cascade delete"选项设置为"Set Null"?

我是Fluent nHibernate的新手,想知道,如果我有两个类Profile和Email映射一对多如下...我想流利地定义一个nHibernate映射,所以当删除Profile时,Email将保留在DB,键设置为Null.或者换句话说要"ON DELETE SET NULL"

ALTER TABLE [dbo].[Email]  WITH CHECK ADD  CONSTRAINT [FK4239B252F6539048] FOREIGN KEY([ProfileId])
REFERENCES [dbo].[Profile] ([Id])
ON UPDATE SET NULL
ON DELETE SET NULL
Run Code Online (Sandbox Code Playgroud)

任何帮助都非常感谢!

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);
        }
    }
Run Code Online (Sandbox Code Playgroud)

nhibernate-mapping fluent-nhibernate

5
推荐指数
1
解决办法
3207
查看次数