代码之家  ›  专栏  ›  技术社区  ›  Paco

是否可以使用私有字段约定来实现Fluent NHibernate自动应用?

  •  4
  • Paco  · 技术社区  · 16 年前

    如何用Fluent NHibernate AutopersistenceModel映射到私有字段?

        public class A
        {
            private List<B>  myField;
    
            public A()
            {
                myField = new List<B>();
            }
    
            public IList<B> MyBs
            {
                get { return myField; }
            }
        }
    

    AutoPersistence模型是否有FieldConvention,或者对于具有字段的类,是否必须使用单独的映射?

    3 回复  |  直到 15 年前
        1
  •  1
  •   Paco    16 年前

    答案是:

    现在还不可能。也许我应该提交一个补丁…

        2
  •  0
  •   Mike Glenn    15 年前

    我知道这不是回答自动映射,而是帮助那些得到这个搜索私有字段映射的人。

    现在可以使用以下代码:

    public class A
    {
        private List<B>  myBs;
    
        public A()
        {
            myField = new List<B>();
        }
    
        public IList<B> MyBs
        {
            get { return myField; }
        }
    }
    

    像这样的地图

    public class AMap : ClassMap<A> {
            public AMap() {
                HasMany(x => x.MyBs).Access.CamelCaseField()
            }
    }
    
        3
  •  -2
  •   RR.    15 年前

    问这个问题已经有一段时间了,但如果其他人发现这个问题的话,这个答案可能值得公布。

    Fluent nhibernate wiki提供了关于3种可能的解决方法的一些信息。

    http://wiki.fluentnhibernate.org/Fluent_mapping_private_properties