0

私は次のようなクラスの従業員を持っています:

  public class Employee{  

    private List<Employee> subord = new List<Employee>(); 
    private int id;
    private string surname;
    public virtual Employee Boss { get; set; }
    public virtual List<Employee> Subbord { get; set; }
    public virtual int Id
    {
        get { return this.id; }
        set { this.id = value; }
    }

     public virtual string Surname
    {
        get { return this.surname; }
        set { this.surname = value; }
    }
 }

1 つのテーブル Employee 内でマップしたい。すべてを構成して実行できましたが、パブリック クラス EmployeeMap : ClassMapping が正しくありません。誰かが私を助けて、コードによるマッピングを使用してここに書くことができますか?

4

2 に答える 2

0

このように、私はnhの初心者であり、各コマンドの意味を実際には知りません

       { this.Table("Employee");
        this.Id(
            x => x.Id,
            m =>
                {
                    m.Generator(Generators.Sequence);
                m.UnsavedValue(0);
            });
        this.Property(x => x.Surname, m => m.Column("surname"));
        this.ManyToOne(x => x.Boss, m => { m.Column("bossid");});
        this.Set(
           x => x.Subbord,
           collectionMapping =>
               {
                   collectionMapping.Table("Employee");
                   collectionMapping.Cascade(Cascade.All);
                   collectionMapping.Inverse(true);

                   collectionMapping.Key(
                       k =>
                           {
                              k.Column("bossid"); 

                               k.ForeignKey("fk_Employee_BossEmployee");
                           });
               },
        map => map.OneToMany());
    }
于 2013-05-13T04:41:42.380 に答える