https://nhibernate.jira.com/browse/NH-3108 

https://nhibernate.jira.com/browse/NH-3217 

The solution I have found was to use QueryOver<> which in my implementation 
was not optional.

-Cheers,
Fabricio

On Thursday, September 27, 2012 7:22:04 PM UTC+2, Oskar Berggren wrote:
>
> Well known where? What did you find?
>
> /Oskar
>
>
> 2012/9/27 Fabricio Martinez <[email protected] <javascript:>>
>
>> Well this seems to be a well know limitation. My solution, I went back to 
>> 3.2.
>>
>>
>> On Wednesday, September 26, 2012 11:39:04 AM UTC+2, Fabricio Martinez 
>> wrote:
>>>
>>> .OrderBy(x => x.**FrontpagePosition ?? int.**MaxValue) Linq code does not 
>>> work anymore with NHIbernate...
>>>
>>>
>>> Any thoughts?
>>>
>>>
>>> -Thanks,
>>>
>>> Fabricio
>>>
>>>
>>> On Tuesday, September 25, 2012 11:45:30 PM UTC+2, Fabricio Martinez 
>>> wrote:
>>>>
>>>> Hello,
>>>>
>>>> I have just upgraded NHIbernate and Fluent to the latest versions (NH 
>>>> to 3.3.1.4000 and Fluent to 1.3.0.733) and my working solution has stop 
>>>> working with certain objects with the following error.
>>>>
>>>> {System.**IndexOutOfRangeException: Invalid index 3 for this 
>>>> SqlParameterCollection with Count=3.
>>>>    at System.Data.SqlClient.**SqlParameterCollection.**RangeCheck(Int32 
>>>> index)
>>>>    at System.Data.SqlClient.**SqlParameterCollection.**GetParameter(Int32 
>>>> index)
>>>>    at System.Data.Common.**DbParameterCollection.System.**
>>>> Collections.IList.get_Item(**Int32 index)
>>>>    at NHibernate.Type.Int32Type.Set(**IDbCommand rs, Object value, 
>>>> Int32 index)
>>>>    at NHibernate.Type.NullableType.**NullSafeSet(IDbCommand cmd, 
>>>> Object value, Int32 index)
>>>>    at NHibernate.Type.NullableType.**NullSafeSet(IDbCommand st, Object 
>>>> value, Int32 index, ISessionImplementor session)
>>>>    at NHibernate.Param.**NamedParameterSpecification.**Bind(IDbCommand 
>>>> command, IList`1 multiSqlQueryParametersList, Int32 
>>>> singleSqlParametersOffset, IList`1 sqlQueryParametersList, QueryParameters 
>>>> queryParameters, ISessionImplementor session)
>>>>    at NHibernate.Param.**NamedParameterSpecification.**Bind(IDbCommand 
>>>> command, IList`1 sqlQueryParametersList, QueryParameters queryParameters, 
>>>> ISessionImplementor session)
>>>>    at NHibernate.SqlCommand.**SqlCommandImpl.Bind(IDbCommand command, 
>>>> ISessionImplementor session)
>>>>    at NHibernate.Loader.Loader.**PrepareQueryCommand(**QueryParameters 
>>>> queryParameters, Boolean scroll, ISessionImplementor session)
>>>>    at NHibernate.Loader.Loader.**DoQuery(ISessionImplementor session, 
>>>> QueryParameters queryParameters, Boolean returnProxies)
>>>>    at 
>>>> NHibernate.Loader.Loader.**DoQueryAndInitializeNonLazyCol**lections(ISessionImplementor
>>>>  
>>>> session, QueryParameters queryParameters, Boolean returnProxies)
>>>>    at NHibernate.Loader.Loader.**DoList(ISessionImplementor session, 
>>>> QueryParameters queryParameters)}
>>>>
>>>> What its weird to me is that this was working perfectly. 
>>>>
>>>> The object is as follows.
>>>>
>>>>  [DataContract(IsReference = t**rue)]
>>>>     [KnownType(typeof(Categori**a))]
>>>>     [KnownType(typeof(Comentar**io))]
>>>>     public partial class Notic**ia
>>>>     {
>>>>         [DataMember]
>>>>         public virtual long **Id  { get; set; }
>>>>  
>>>>         [DataMember]
>>>>         public virtual string **Asunto  { get; set; }
>>>>  
>>>>         [DataMember]
>>>>         public virtual string **Intro { get; set; }
>>>>  
>>>>         [DataMember]
>>>>         public virtual string **Texto { get; set; }
>>>>  
>>>>         [DataMember]
>>>>         public virtual bool **Publicar  { get; set; }
>>>>  
>>>>         [DataMember]
>>>>         public virtual Categor**ia Categoria { get; set; }
>>>>  
>>>>         [DataMember]
>>>>         public virtual Product**o Producto { get; set; }
>>>>  
>>>>         [DataMember]
>>>>         public virtual Empresa** Empresa { get; set; }
>>>>     
>>>>         [DataMember]
>>>>         public virtual IList<C**omentario> Comentario { get; s**et; }
>>>>  
>>>>         [DataMember]
>>>>         public virtual bool **Frontpage { get; set; }
>>>>  
>>>>         [DataMember]
>>>>         public virtual int? **FrontpagePosition { get; set; **}
>>>>  
>>>>         [DataMember]
>>>>         public virtual string **Tags { get; set; }
>>>>  
>>>>         [DataMember]
>>>>         public virtual Usuario** Creador { get; set; }
>>>>  
>>>>         [DataMember]
>>>>         public virtual DateTim**e FechaAlta { get; set; }
>>>>     }
>>>>
>>>> Mapping:
>>>> public partial class NoticiaMa**p: ClassMap<Noticia>
>>>>     {
>>>>         public NoticiaMap()
>>>>         {
>>>>             //Table("**NoticiaSet");
>>>>             Id(x => x.Id).**GeneratedBy.Identity();
>>>>             HasMany(x => 
>>>> x.**Comentario).LazyLoad().**Inverse().Cascade.All();
>>>>             References(x => x.**Categoria).Nullable();
>>>>             References(x => x.**Empresa).Nullable();
>>>>             References(x => x.**Producto).Nullable();
>>>>             Map(x => x.**Publicar).Not.Nullable();
>>>>             Map(x => x.Asunto)**.Length(512).Not.Nullable();
>>>>             Map(x => x.Intro).**Length(1024).Nullable();
>>>>             Map(x => 
>>>> x.Texto).**CustomType("StringClob").**CustomSqlType("nvarchar(max)")**.Not.Nullable();
>>>>             Map(x => x.**FechaAlta).Not.Nullable();
>>>>             Map(x => x.**Frontpage).Not.Nullable().**Default("0");
>>>>             Map(x => x.**FrontpagePosition).Nullable();
>>>>             Map(x => x.Tags).**Length(512).Nullable();
>>>>             References(x => x.**Creador).Not.Nullable();
>>>>         }
>>>>     }
>>>>
>>>> Code Failing:
>>>>  @foreach (var item in Model)
>>>>                     {
>>>>                         <div c**lass="row">
>>>>                             <d**iv style="text-align:center;" **class="one 
>>>> columns">@item.**Publicar.ToString()</div>
>>>>                             <d**iv style="text-align:center;" **class="one 
>>>> columns">@item.**Frontpage</div>
>>>>                             <d**iv style="text-align:center;" **class="one 
>>>> columns">@item.**FrontpagePosition</div>
>>>>                             <d**iv style="text-align:center;" 
>>>> **class="three columns">@item.**Asunto</div>
>>>>                             <d**iv style="text-align:center;" **class="one 
>>>> columns">
>>>>                               **  @if (item.Categoria != null)** { 
>>>> @item.Categoria.Nombre } 
>>>>                               **  @if (item.Empresa != null) {** 
>>>> @item.Empresa.Nombre }
>>>>                               **  @if (item.Producto != null) **{ 
>>>> @item.Producto.Nombre } 
>>>>                             </**div>
>>>>                             <d**iv style="text-align:center;" **class="one 
>>>> columns">@item.**Creador.Nombre</div>
>>>>                             <d**iv style="text-align:center;" **class="one 
>>>> columns">@item.**FechaAlta.ToShortDateString()<**/div>
>>>>                             <d**iv style="text-align:center;" 
>>>> **class="three columns">
>>>>                               **  <a href="#" 
>>>> onclick="**javascript:SourceInjector('#**Content', 
>>>> '@Url.Action("**Modificar", "Noticia", new { i**d = item.Id 
>>>> })')">Modificar</a**> ||
>>>>                               **  @Ajax.ActionLink("Eliminar",** 
>>>> "Eliminar", "Noticia", new { **id = item.Id }, new AjaxOption**s { Confirm 
>>>> = "¿Eliminar **Noticia " + item.Asunto + "?",** HttpMethod = "Post", 
>>>> **UpdateTargetId = "Content" }, **null) || 
>>>>                               **  <a 
>>>> href="@Url.Action(item.Id**.ToString(), "Articulo")" 
>>>> targ**et="_blank">Preview</a>
>>>>                             </**div>
>>>>                         </div>
>>>>                     }
>>>>
>>>>
>>>> As soon as it goes into the foreach it fails. What baffles me is that this 
>>>> was working before.
>>>>
>>>> Any help welcomed.
>>>>
>>>> -Cheers,
>>>> Fabricio
>>>>
>>>>
>>>>  -- 
>> You received this message because you are subscribed to the Google Groups 
>> "nhusers" group.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msg/nhusers/-/Z880m5AwNYMJ.
>>
>> To post to this group, send email to [email protected]<javascript:>
>> .
>> To unsubscribe from this group, send email to 
>> [email protected] <javascript:>.
>> For more options, visit this group at 
>> http://groups.google.com/group/nhusers?hl=en.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/nhusers/-/z6JS4aQbfPoJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to