NHibernate/Fluent NHibernate映射

NHibernate/Fluent NHibernate映射,nhibernate,orm,fluent,mappings,Nhibernate,Orm,Fluent,Mappings,是否可以绘制以下情况 产品类(当前为表) 帐户类(当前为表) accountproduct类(当前为联接表,但包含与特定产品和帐户相关的附加信息) 理想情况下,我希望accountproduct能够扩展产品,并作为一种房地产产品从account获得 产品类别将单独存在,并提供自己的体验。以下内容如何: public class AccountProduct { public virtual int Id { get; set; } public v

是否可以绘制以下情况

  • 产品类(当前为表)
  • 帐户类(当前为表)
  • accountproduct类(当前为联接表,但包含与特定产品和帐户相关的附加信息)
  • 理想情况下,我希望accountproduct能够扩展产品,并作为一种房地产产品从account获得


    产品类别将单独存在,并提供自己的体验。

    以下内容如何:

        public class AccountProduct
        {
            public virtual int Id { get; set; }
            public virtual DateTime Date { get; set; }
            public virtual string Comments { get; set; }
    
            public virtual Account Account { get; set; }
            public virtual Product Product { get; set; }
    
            public class AccountProductMap : ClassMap<AccountProduct>
            {
                public AccountProductMap()
                {
                    Id(x => x.Id);
                    Map(x => x.Date);
                    Map(x => x.Comments);
                    References(x => x.Account);
                    References(x => x.Product);
                }
            }
        } 
    
        public class Product
        {
            public virtual int Id { get; set; }
            public virtual int Name { get; set; }
    
            public class ProductMap : ClassMap<Product>
            {
                public ProductMap()
                {
                    Id(x => x.Id);
                    Map(x => x.Name);
                }
            }
        }
    
        public class Account
        {
            public virtual int Id { get; set; }
            public virtual int Name { get; set; }
    
            public class AccountMap : ClassMap<Account>
            {
                public AccountMap()
                {
                    Id(x => x.Id);
                    Map(x => x.Name);
                }
            }
        }
    
    公共类AccountProduct
    {
    公共虚拟整数Id{get;set;}
    公共虚拟日期时间日期{get;set;}
    公共虚拟字符串注释{get;set;}
    公共虚拟帐户{get;set;}
    公共虚拟产品产品{get;set;}
    公共类AccountProductMap:ClassMap
    {
    公共帐户ProductMap()
    {
    Id(x=>x.Id);
    地图(x=>x.Date);
    地图(x=>x.Comments);
    参考文献(x=>x.Account);
    参考文献(x=>x.Product);
    }
    }
    } 
    公共类产品
    {
    公共虚拟整数Id{get;set;}
    公共虚拟整数名{get;set;}
    公共类ProductMap:ClassMap
    {
    公共产品地图()
    {
    Id(x=>x.Id);
    Map(x=>x.Name);
    }
    }
    }
    公共类帐户
    {
    公共虚拟整数Id{get;set;}
    公共虚拟整数名{get;set;}
    公共类AccountMap:ClassMap
    {
    公共帐户映射()
    {
    Id(x=>x.Id);
    Map(x=>x.Name);
    }
    }
    }
    
    谢谢拉斐尔。您知道AccountProduct类是否可以从Product继承,Account类是否可以将AccountProducts的属性称为Products?从模型的角度来看,理想情况下,我只想公开产品和帐户,其中帐户有一个属性Products,该属性专门链接到其产品,并包含联接表额外数据(AccountProductData)。联接表本身并没有真正的用途。