Exemple #1
0
 public void Start(string prefix, MappedPropertyInfo item)
 {
     HbmSet set = item.HbmObject<HbmSet>();
     MappedPropertyInfo childItem = new MappedPropertyInfo(set.Item, item.FileName);
     PropertyMappingType subType = childItem.Type;
     if (subType == PropertyMappingType.ManyToMany)
     {
         _builder.StartMethod(prefix, string.Format("{0}<{1}>(x => x.{2})", FluentNHibernateNames.HasManyToMany, item.ReturnType, item.Name));
         _builder.AddLine(string.Format(".{0}(\"{1}\")", KeyColumn.FluentNHibernateNames.ChildKeyColumn, childItem.ColumnName));
     }
     else if (subType == PropertyMappingType.OneToMany)
     {
         _builder.StartMethod(prefix, string.Format("{0}<{1}>(x => x.{2})", FluentNHibernateNames.HasMany, item.ReturnType, item.Name));
     }
     else
     {
         _builder.StartMethod(prefix, "set?(x => x" + item.Name + ")");
     }
     _builder.AddLine(string.Format(".{0}()", FluentNHibernateNames.AsSet));
     _keyColumn.Add(set.inverse, item.ColumnName, subType);
     _lazyLoad.Add(set.lazySpecified, set.lazy);
     _table.Add(set.table);
     _inverse.Add(set.inverse);
     _cascade.Add(set.cascade);
     _orderBy.Add(set.orderby);
     _where.Add(set.where);
 }
        public void Start(string prefix, MappedPropertyInfo item)
        {
            CodeFileBuilder componentBuilder = new CodeFileBuilder();
            componentBuilder.Indent(5);
            const string subPrefix = "y.";
            HbmCompositeElement component = item.HbmObject<HbmCompositeElement>();
            componentBuilder.AddLine("");

            var componentBodyBuilder = new ClassMapBody(componentBuilder);
            foreach (var componentPart in component.Items)
            {
                componentBodyBuilder.Add(subPrefix, new MappedPropertyInfo(componentPart, item.FileName));
            }
            _builder.StartMethod(prefix, string.Format("{0}<{1}>(x => x.{2}, y=>", FluentNHibernateNames.CompositeElement, item.ReturnType, item.Name));
            _builder.AddLine("{");
            _builder.AddLine(componentBuilder.ToString());
            _builder.AddLine("})");
            /*if (component. )
            {
                _builder.AddLine(string.Format(".{0}()", FluentNHibernateNames.Insert));
            }
            if (component.update)
            {
                _builder.AddLine(string.Format(".{0}()", FluentNHibernateNames.Update));
            }*/
        }
Exemple #3
0
        public void Start(string prefix, MappedPropertyInfo item)
        {
            CodeFileBuilder componentBuilder = new CodeFileBuilder();

            componentBuilder.Indent(5);
            const string subPrefix = "y.";
            HbmComponent component = item.HbmObject <HbmComponent>();

            componentBuilder.AddLine("");

            var componentBodyBuilder = new ClassMapBody(componentBuilder);

            foreach (var componentPart in component.Items)
            {
                componentBodyBuilder.Add(subPrefix, new MappedPropertyInfo(componentPart, item.FileName));
            }
            _builder.StartMethod(prefix, string.Format("{0}<{1}>(x => x.{2}, y=>", FluentNHibernateNames.Component, item.ReturnType, item.Name));
            _builder.AddLine("{");
            _builder.AddLine(componentBuilder.ToString());
            _builder.AddLine("})");
            if (component.insert)
            {
                _builder.AddLine(string.Format(".{0}()", FluentNHibernateNames.Insert));
            }
            if (component.update)
            {
                _builder.AddLine(string.Format(".{0}()", FluentNHibernateNames.Update));
            }
        }
Exemple #4
0
 public void Start(string prefix, MappedPropertyInfo item)
 {
     HbmBag bag = item.HbmObject<HbmBag>();
     PropertyMappingType subType = new MappedPropertyInfo(bag.Item, item.FileName).Type;
     if (subType == PropertyMappingType.ManyToMany)
     {
         _builder.StartMethod(prefix, string.Format("{0}<{1}>(x => x.{2})", FluentNHibernateNames.HasManyToMany, item.ReturnType, item.Name));
     }
     else if (subType == PropertyMappingType.OneToMany)
     {
         _builder.StartMethod(prefix, string.Format("{0}<{1}>(x => x.{2})", FluentNHibernateNames.HasMany, item.ReturnType, item.Name));
     }
     else
     {
         _builder.StartMethod(prefix, "bag?(x => x" + item.Name + ")");
     }
     _builder.AddLine(string.Format(".{0}()", FluentNHibernateNames.AsBag));
     _keyColumn.Add(bag.inverse, item.ColumnName, subType);
     _lazyLoad.Add(bag.lazySpecified, bag.lazy);
     _table.Add(bag.table);
     _inverse.Add(bag.inverse);
     _cascade.Add(bag.cascade);
     _orderBy.Add(bag.orderby);
     _cacheBuilder.Add(bag.cache);
 }
        public void Add(MappedPropertyInfo info)
        {
            if (info.Type != PropertyMappingType.Id)
            {
                return;
            }

            HbmId id = info.HbmObject<HbmId>();
            HbmGenerator generator = id.generator;
            if (generator != null)
            {
                switch (generator.@class)
                {
                    case "sequence":
                        {
                            HbmParam[] parameters = generator.param;
                            string[] text = parameters[0].Text;
                            _builder.AddLine(string.Format(".{0}.{1}(\"{2}\")", FluentNHibernateNames.GeneratedBy, FluentNHibernateNames.Sequence, text[0]));
                            break;
                        }
                    case "assigned":
                        _builder.AddLine(string.Format(".{0}.{1}()", FluentNHibernateNames.GeneratedBy, FluentNHibernateNames.Assigned));
                        break;
                    case "native":
                        _builder.AddLine(string.Format(".{0}.{1}()", FluentNHibernateNames.GeneratedBy, FluentNHibernateNames.Native));
                        break;
                    default:
                        _builder.AddLine(string.Format(".{0}. ?", FluentNHibernateNames.GeneratedBy));
                        break;
                }
            }
        }
Exemple #6
0
        public void Start(string prefix, MappedPropertyInfo item)
        {
            HbmBag bag = item.HbmObject <HbmBag>();
            PropertyMappingType subType = new MappedPropertyInfo(bag.Item, item.FileName).Type;

            if (subType == PropertyMappingType.ManyToMany)
            {
                _builder.StartMethod(prefix, string.Format("{0}<{1}>(x => x.{2})", FluentNHibernateNames.HasManyToMany, item.ReturnType, item.Name));
            }
            else if (subType == PropertyMappingType.OneToMany)
            {
                _builder.StartMethod(prefix, string.Format("{0}<{1}>(x => x.{2})", FluentNHibernateNames.HasMany, item.ReturnType, item.Name));
            }
            else
            {
                _builder.StartMethod(prefix, "bag?(x => x" + item.Name + ")");
            }
            _builder.AddLine(string.Format(".{0}()", FluentNHibernateNames.AsBag));
            _keyColumn.Add(bag.inverse, item.ColumnName, subType);
            _lazyLoad.Add(bag.lazySpecified, bag.lazy);
            _table.Add(bag.table);
            _inverse.Add(bag.inverse);
            _cascade.Add(bag.cascade);
            _fetch.Add(bag.fetch);
            _orderBy.Add(bag.orderby);
            _where.Add(bag.where);
            _cacheBuilder.Add(bag.cache);
        }
Exemple #7
0
        public void Start(string prefix, MappedPropertyInfo item)
        {
            HbmSet              set       = item.HbmObject <HbmSet>();
            MappedPropertyInfo  childItem = new MappedPropertyInfo(set.Item, item.FileName);
            PropertyMappingType subType   = childItem.Type;

            if (subType == PropertyMappingType.ManyToMany)
            {
                _builder.StartMethod(prefix, string.Format("{0}<{1}>(x => x.{2})", FluentNHibernateNames.HasManyToMany, item.ReturnType, item.Name));
                _builder.AddLine(string.Format(".{0}(\"{1}\")", KeyColumn.FluentNHibernateNames.ChildKeyColumn, childItem.ColumnName));
            }
            else if (subType == PropertyMappingType.OneToMany)
            {
                _builder.StartMethod(prefix, string.Format("{0}<{1}>(x => x.{2})", FluentNHibernateNames.HasMany, item.ReturnType, item.Name));
            }
            else
            {
                _builder.StartMethod(prefix, "set?(x => x" + item.Name + ")");
            }
            _builder.AddLine(string.Format(".{0}()", FluentNHibernateNames.AsSet));
            _keyColumn.Add(set.inverse, item.ColumnName, subType);
            _lazyLoad.Add(set.lazySpecified, set.lazy);
            _table.Add(set.table);
            _inverse.Add(set.inverse);
            _cascade.Add(set.cascade);
            _fetch.Add(set.fetch);
            _orderBy.Add(set.orderby);
            _where.Add(set.where);
            _cacheBuilder.Add(set.cache);
        }
        public void Add(MappedPropertyInfo info)
        {
            if (info.Type != PropertyMappingType.Id)
            {
                return;
            }

            HbmId id = info.HbmObject<HbmId>();
            if (id.unsavedvalue != null)
            {
                var unsavedValue = id.unsavedvalue == "null" ? "String.Empty" : id.unsavedvalue;
                _builder.AddLine(string.Format(".{0}({1})", FluentNHibernateNames.UnsavedValue, unsavedValue));
            }
        }
Exemple #9
0
        public void Add(MappedPropertyInfo info)
        {
            if (info.Type != PropertyMappingType.Id)
            {
                return;
            }

            HbmId id = info.HbmObject <HbmId>();

            if (id.unsavedvalue != null)
            {
                var unsavedValue = id.unsavedvalue == "null" ? "String.Empty" : id.unsavedvalue;
                _builder.AddLine(string.Format(".{0}({1})", FluentNHibernateNames.UnsavedValue, unsavedValue));
            }
        }
Exemple #10
0
        public void Add(MappedPropertyInfo info)
        {
            if (info.Type != PropertyMappingType.Id)
            {
                return;
            }

            HbmId        id        = info.HbmObject <HbmId>();
            HbmGenerator generator = id.generator;

            if (generator != null)
            {
                switch (generator.@class)
                {
                case "sequence":
                {
                    HbmParam[] parameters = generator.param;
                    string[]   text       = parameters[0].Text;
                    _builder.AddLine(string.Format(".{0}.{1}(\"{2}\")", FluentNHibernateNames.GeneratedBy, FluentNHibernateNames.Sequence, text[0]));
                    break;
                }

                case "assigned":
                    _builder.AddLine(string.Format(".{0}.{1}()", FluentNHibernateNames.GeneratedBy, FluentNHibernateNames.Assigned));
                    break;

                case "guid.comb":
                    _builder.AddLine(string.Format(".{0}.{1}()", FluentNHibernateNames.GeneratedBy, FluentNHibernateNames.GuidComb));
                    break;

                case "guid":
                    _builder.AddLine(string.Format(".{0}.{1}()", FluentNHibernateNames.GeneratedBy, FluentNHibernateNames.Guid));
                    break;

                case "native":
                    _builder.AddLine(string.Format(".{0}.{1}()", FluentNHibernateNames.GeneratedBy, FluentNHibernateNames.Native));
                    break;

                case "identity":
                    _builder.AddLine(string.Format(".{0}.{1}()", FluentNHibernateNames.GeneratedBy, FluentNHibernateNames.Identity));
                    break;

                default:
                    _builder.AddLine(string.Format(".{0}.{1} ?", FluentNHibernateNames.GeneratedBy, generator.@class));
                    break;
                }
            }
        }