两个使用FluentNHibernate引用同一个表

时间:2014-05-16 13:44:14

标签: c# asp.net-mvc-4 fluent-nhibernate fluent-nhibernate-mapping

我有一张表,例如User。 现在,在我的表Books中,我需要映射两个用户字段

public User Wants {get; set;}
public User Read {get; set;}

如何映射? (在这种情况下,较早版本的fluentnhibernate和automapping不起作用) 通常,答案需要与自动化一起使用,因为应用程序中的所有实体都使用自动化。

1 个答案:

答案 0 :(得分:0)

我认为这是直截了当的。

public class BookMap : ClassMap<Book>
{
    public BookMap()
    {

        /* all other mapping info */

        References<User>(x => x.Wants)
            .Class(typeof(User))
            /*.Not.Nullable() */
             .Nullable()
            .Column("WantsUserUUID")
            .Index("IX_Book_WantsUserUUID")
            .Cascade.SaveUpdate()
            ;
        ;

        References<User>(x => x.Read )
            .Class(typeof(User))
            /*.Not.Nullable() */
             .Nullable()
            .Column("ReadUserUUID")
            .Index("IX_Book_ReadUserUUID")
            .Cascade.SaveUpdate()
            ;
        ;