Failed insert or update when add type column long text using NHibernate in VB.NET - vb.net

I'm using Nhibernate 4 and FluentNhibernate 2.0.3 with db Microsoft Access 2000. I can't save the entry on the DB because i'm getting an error when I go to insert the Note field sending a request HTTP POST for example:
{
"Note": "bla bla bla"
}
NOTE: In the database table, the column "Note" is setted as "LONG TEXT" (Not Required)
Could It be a problem of conversion of data Types?
Here's the stack trace:
NHibernate.Exceptions.GenericADOException: could not insert: [Domain.Destinatari#1773][SQL: INSERT INTO `Destinatari` (Note, IDDestinatario) VALUES (?, ?)] ---> System.Data.OleDb.OleDbException: Errore di sintassi nell'istruzione INSERT INTO.
in System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
in System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
in System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
in System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
in System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
in System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
in NHibernate.JetDriver.JetDbCommand.ExecuteNonQuery()
in NHibernate.AdoNet.AbstractBatcher.ExecuteNonQuery(IDbCommand cmd)
in NHibernate.AdoNet.NonBatchingBatcher.AddToBatch(IExpectation expectation)
in NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session)
--- Fine della traccia dello stack dell'eccezione interna ---
in NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session)
in NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Object obj, ISessionImplementor session)
in NHibernate.Action.EntityInsertAction.Execute()
in NHibernate.Engine.ActionQueue.Execute(IExecutable executable)
in NHibernate.Engine.ActionQueue.ExecuteActions(IList list)
in NHibernate.Engine.ActionQueue.ExecuteActions()
in NHibernate.Event.Default.AbstractFlushingEventListener.PerformExecutions(IEventSource session)
Below my mapping code:
Public Class DestinatariMap
Inherits ClassMap(Of Destinatari)
Public Sub New()
MyBase.New
LazyLoad()
Id(Function(x) x.IDDestinatario).GeneratedBy().Increment()
Map(Function(x) x.Note)
End Sub
End Class
Here's my Domain code:
Public Class Destinatari
Private _ID_Destinatario As Integer
Private _Note As String
Public Overridable Property IDDestinatario() As Integer
Get
Return Me._ID_Destinatario
End Get
Set
Me._ID_Destinatario = Value
End Set
End Property
Public Overridable Property Note() As String
Get
Return Me._Note
End Get
Set
Me._Note = Value
End Set
End Property
End Class
Thanks

Related

NHibernate create criteria, add Restrictions on related table with nullable foreign key

I work on a Api project in .NET core 2.2 with NHibernate (5.2.5)
Table A has nullable foreign key from table B
I need to create a criteria to filter Table A, using a nullable foreign key (which is not null) that points to Table B, where the Status in Table B is 3
This is something what I have tried:
var criteria = _session.CreateCriteria<AgencyAgreement>();criteria.Add(Restrictions.Eq("BookingCartItem.Status", (int)BookingCartStatus.Cancelled));
also with and operator
criteria.Add(Restrictions.And(Restrictions.IsNotNull("BookingCartItem"), Restrictions.Eq("BookingCartItem.Status", (int)BookingCartStatus.Cancelled)));
but this is what I get as Error
at NHibernate.Persister.Entity.AbstractPropertyMapping.GetColumns(String propertyName)\r\n at NHibernate.Persister.Entity.AbstractPropertyMapping.ToColumns(String alias, String propertyName)\r\n at NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetColumnsUsingProjection(ICriteria subcriteria, String propertyName)\r\n at NHibernate.Criterion.CriterionUtil.GetColumnNamesUsingPropertyName(ICriteriaQuery criteriaQuery, ICriteria criteria, String propertyName, Object value, ICriterion critertion)\r\n at NHibernate.Criterion.SimpleExpression.ToSqlString(ICriteria criteria, ICriteriaQuery criteriaQuery)\r\n at NHibernate.Criterion.LogicalExpression.ToSqlString(ICriteria criteria, ICriteriaQuery criteriaQuery)\r\n at NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetWhereCondition()\r\n at NHibernate.Loader.Criteria.CriteriaJoinWalker..ctor(IOuterJoinLoadable persister, CriteriaQueryTranslator translator, ISessionFactoryImplementor factory, ICriteria criteria, String rootEntityName, IDictionary2 enabledFilters)\r\n at NHibernate.Loader.Criteria.CriteriaLoader..ctor(IOuterJoinLoadable persister, ISessionFactoryImplementor factory, CriteriaImpl rootCriteria, String rootEntityName, IDictionary2 enabledFilters)\r\n at NHibernate.Impl.SessionImpl.ListAsync(CriteriaImpl criteria, IList results, CancellationToken cancellationToken)\r\n at NHibernate.Impl.CriteriaImpl.ListAsync(IList results, CancellationToken cancellationToken)\r\n at NHibernate.Impl.CriteriaImpl.ListAsync[T](CancellationToken cancellationToken)\r\n at HASELT.merakzy.Services.Features.Documents.QueryTravelAgreements.Handler.Handle(Request request, CancellationToken cancellationToken) in C:\Users\Asus\Desktop\merakzy-sourcecode\merakzy-master\src\HASELT.merakzy.Services\Features\AgencyDocuments\QueryTravelAgreements.cs:line 115\r\n at MediatR.Pipeline.RequestPostProcessorBehavior2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next)\r\n at MediatR.Pipeline.RequestPreProcessorBehavior2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next)\r\n at lambda_method(Closure , Object )\r\n at Microsoft.Extensions.Internal.ObjectMethodExecutorAwaitable.Awaiter.GetResult()\r\n at Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\r\n at System.Threading.Tasks.ValueTask`1.get_Result()\r\n at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync()\r\n at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeNextActionFilterAsync()\r\n at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)\r\n at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeInnerFilterAsync()\r\n at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextExceptionFilterAsync()
var criteria = _session.CreateCriteria<AgencyAgreement>();
criteria.CreateCriteria(nameof(AgencyAgreement.BookingCartItem))
.Add(Restrictions.Eq("Status", (int)BookingCartStatus.Cancelled));
or using linq if the properties are known at compile time
var query = _session.Query<AgencyAgreement>();
query = query.Where(a => a.BookingCartItem.Status == (int)BookingCartStatus.Cancelled);

SQLite CASE/WHEN isnumeric query

I have the following code that works in SQL:
"(CASE WHEN isnumeric(Installation) > 0 THEN cast(Installation as bigint) ELSE null END) "
I am trying to convert it to work in SQLite, but having trouble since I have very little experience in SQLite. Basically I want to cast/convert my stringcolumn (Installation) to a bigint, but need the validation to make sure it only contains numeric characters.
I have tried the following 3 variations, but not having luck. Just getting errors saying could not execute query
("(CASE WHEN Installation GLOB '*[^0-9]*' THEN cast(Installation as bigint) ELSE null END)");
("(SELECT Installation from ShortCycleWorkOrderCompletions WHERE Installation = REGEXP '*[^0-9]*'");
("(CASE WHEN REGEXP(Installation, '*[^0-9]*') THEN cast(Installation as bigint) ELSE null END");
Don't need all 3 to work, just one, and these were what I have tried.
NHibernate.Exceptions.GenericADOException: could not load an entity: [MapCall.Common.Model.Entities.ShortCycleWorkOrderCompletion#666][SQL: SELECT shortcycle0_.Id as Id510_0_, shortcycle0_.SAPCommunicationError as SAPCommu2_510_0_, shortcycle0_.SAPErrorCode as SAPError3_510_0_, shortcycle0_.ActiveMQStatus as ActiveMQ4_510_0_, shortcycle0_.WorkOrderNumber as WorkOrde5_510_0_, shortcycle0_.MiscInvoice as MiscInvo6_510_0_, shortcycle0_.BackOfficeReview as BackOffi7_510_0_, shortcycle0_.CompletionStatus as Completi8_510_0_, shortcycle0_.Notes as Notes510_0_, shortcycle0_.AdditionalWorkNeeded as Additio10_510_0_, shortcycle0_.Purpose as Purpose510_0_, shortcycle0_.TechnicalInspectedOn as Technic12_510_0_, shortcycle0_.TechnicalInspectedBy as Technic13_510_0_, shortcycle0_.ServiceFound as Service14_510_0_, shortcycle0_.ServiceLeft as Service15_510_0_, shortcycle0_.OperatedPointOfControl as Operate16_510_0_, shortcycle0_.AdditionalInformation as Additio17_510_0_, shortcycle0_.CurbBoxMeasurementDescription as CurbBox18_510_0_, shortcycle0_.Safety as Safety510_0_, shortcycle0_.HeatType as HeatType510_0_, shortcycle0_.MeterPositionLocation as MeterPo21_510_0_, shortcycle0_.MeterDirectionalLocation as MeterDi22_510_0_, shortcycle0_.MeterSupplementalLocation as MeterSu23_510_0_, shortcycle0_.ReadingDevicePositionalLocation as Reading24_510_0_, shortcycle0_.ReadingDeviceSupplementalLocation as Reading25_510_0_, shortcycle0_.ReadingDeviceDirectionalLocation as Reading26_510_0_, shortcycle0_.FSRId as FSRId510_0_, shortcycle0_.SerialNumber as SerialN28_510_0_, shortcycle0_.ManufacturerSerialNumber as Manufac29_510_0_, shortcycle0_.MeterSerialNumber as MeterSe30_510_0_, shortcycle0_.DeviceCategory as DeviceC31_510_0_, shortcycle0_.ActionFlag as ActionFlag510_0_, shortcycle0_.Installation as Install33_510_0_, shortcycle0_.ActivityReason as Activit34_510_0_, shortcycle0_.OldMeterSerialNumber as OldMete35_510_0_, shortcycle0_.QualityIssue as Quality36_510_0_, shortcycle0_.ReceivedAt as ReceivedAt510_0_, shortcycle0_.ShortCycleWorkOrderId as ShortCy38_510_0_, cast(shortcycle0_.WorkOrderNumber as varchar(12)) as formula90_0_, (CASE WHEN (CHARINDEX('SUCCESS', UPPER(cast(shortcycle0_.SAPErrorCode as varchar(8000)))) > 0) THEN 0 ELSE 1 END) as formula91_0_, (CASE WHEN (CHARINDEX('SUCCESS', UPPER(cast(shortcycle0_.ActiveMQStatus as varchar(8000)))) > 0) THEN 0 ELSE 1 END) as formula92_0_, (CASE WHEN (NOT TRIM(shortcycle0_.Installation) GLOB '*[^0-9]*') AND TRIM(shortcycle0_.Installation) like '_%' THEN CAST(TRIM(shortcycle0_.Installation) AS shortcycle0_.BIGINT) ELSE null END) as formula93_0_ FROM ShortCycleWorkOrderCompletions shortcycle0_ WHERE shortcycle0_.Id=?] ---> System.Data.SQLite.SQLiteException: SQL logic error or missing database
near ".": syntax error
at System.Data.SQLite.SQLite3.Prepare(SQLiteConnection cnn, String strSql, SQLiteStatement previous, UInt32 timeoutMS, String& strRemain)
at System.Data.SQLite.SQLiteCommand.BuildNextCommand()
at System.Data.SQLite.SQLiteDataReader.NextResult()
at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
at NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand cmd)
at NHibernate.Loader.Loader.GetResultSet(IDbCommand st, Boolean autoDiscoverTypes, Boolean callable, RowSelection selection, ISessionImplementor session)
at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
at NHibernate.Loader.Loader.LoadEntity(ISessionImplementor session, Object id, IType identifierType, Object optionalObject, String optionalEntityName, Object optionalIdentifier, IEntityPersister persister)
--- End of inner exception stack trace ---
at NHibernate.Loader.Loader.LoadEntity(ISessionImplementor session, Object id, IType identifierType, Object optionalObject, String optionalEntityName, Object optionalIdentifier, IEntityPersister persister)
at NHibernate.Loader.Entity.AbstractEntityLoader.Load(ISessionImplementor session, Object id, Object optionalObject, Object optionalId)
at NHibernate.Loader.Entity.AbstractEntityLoader.Load(Object id, Object optionalObject, ISessionImplementor session)
at NHibernate.Event.Default.DefaultLoadEventListener.LoadFromDatasource(LoadEvent event, IEntityPersister persister, EntityKey keyToLoad, LoadType options)
at NHibernate.Event.Default.DefaultLoadEventListener.Load(LoadEvent event, IEntityPersister persister, EntityKey keyToLoad, LoadType options)
at NHibernate.Event.Default.DefaultLoadEventListener.OnLoad(LoadEvent event, LoadType loadType)
at NHibernate.Impl.SessionImpl.FireLoad(LoadEvent event, LoadType loadType)
at NHibernate.Impl.SessionImpl.Get(String entityName, Object id)
at NHibernate.Impl.SessionImpl.Get(Type entityClass, Object id)
at NHibernate.Impl.SessionImpl.Get[T](Object id)
at MMSINC.Data.NHibernate.SessionWrapper.Get[T](Object id) in C:\Solutions\mmsinc\MMSINC.Core\Data\NHibernate\SessionWrapper.cs:line 511
at MMSINC.Data.NHibernate.RepositoryBase`1.Find(Int32 id) in C:\Solutions\mmsinc\MMSINC.Core\Data\NHibernate\RepositoryBase.cs:line 104
at MMSINC.Utilities.ActionHelper`4.DoEditWithArgs[TModel](Int32 id, ActionHelperDoEditArgs args, Action`1 onModelFound) in C:\Solutions\mmsinc\MMSINC.Core.Mvc\Utilities\ActionHelper.cs:line 560
at MapCallMVC.Areas.ShortCycle.Controllers.ShortCycleWorkOrderCompletionController.Edit(Int32 id) in C:\Solutions\mapcall_mvc\MapCallMVC\Areas\ShortCycle\Controllers\ShortCycleWorkOrderCompletionController.cs:line 107
at MapCallMVC.Tests.Controllers.ShortCycleWorkOrderCompletionControllerTest.TestEdit404sIfShortCycleWorkOrderCompletionNotFound() in C:\Solutions\mapcall_mvc\MapCallMVC.Tests\Areas\ShortCycle\Controllers\ShortCycleWorkOrderCompletionControllerTest.cs:line 165
Almost the same answer :
CASE
WHEN
(NOT TRIM(Installation) GLOB '*[^0-9]*') AND TRIM(Installation) like '_%'
THEN CAST(TRIM(Installation) AS BIGINT)
END AS intInstallation
Explanation :
[^0-9] = every character that's not a number
With the NOT you get all the installation who doesn't have a character that's not a number
'_%' wildcard : _ any character once and % 0 or more of any character.
Since your edit, I look at the query :
THEN CAST(TRIM(shortcycle0_.Installation) AS shortcycle0_.BIGINT)
Replace it with :
THEN CAST(TRIM(shortcycle0_.Installation) AS BIGINT)
Use the below condition, which checks the existence of non numerical characters and the length of the trimmed value of Installation:
CASE
WHEN
(NOT TRIM(Installation) GLOB '*[^0-9]*') AND (LENGTH(TRIM(Installation)) > 0)
THEN CAST(TRIM(Installation) AS BIGINT)
END
Note that the data type BIGINT in SQLite, is actually INTEGER (1-8 bytes signed integer).

PlatformNotSupportedException CE7

I have a empty project (compact framework 3.5) for pda. I add a imagelist and i add a image in the list. When i deploy the project at a CE7 device (Motorola MC32N0) i get a PlatformNotSupportedException at the line
this.imageList1.Images.Add(((System.Drawing.Image)(resources.GetObject("resource"))));
The stacktrace is:
at System.Globalization.CompareInfo..ctor(Int32 culture)
at System.Globalization.CompareInfo.GetCompareInfo(Int32 culture)
at System.Globalization.CultureInfo.get_CompareInfo()
at System.Collections.Comparer..ctor(CultureInfo culture)
at System.Collections.Comparer..cctor()
at System.OrdinalComparer.EqualsStringImpl(String x, String y)
at System.StringComparerImpl.Equals(Object x, Object y)
at System.Collections.Hashtable.KeyEquals(Object item, Object key)
at System.Collections.Hashtable.get_Item(Object key)
at System.Globalization.CultureInfo.GetCultureInfoHelper(Int32 lcid, String name, String altName)
at System.Globalization.CultureInfo.GetCultureInfo(String name)
at System.Globalization.CompareInfo.GetSortingLCID(Int32 culture)
at System.Globalization.CompareInfo..ctor(Int32 culture)
at System.Globalization.CompareInfo.GetCompareInfo(Int32 culture)
at System.Globalization.CultureInfo.get_CompareInfo()
at System.Globalization.CultureInfo.GetHashCode()
at System.Collections.Hashtable.GetHash(Object key)
at System.Collections.Hashtable.InitHash(Object key, Int32 hashsize, UInt32& seed, UInt32& incr)
at System.Collections.Hashtable.get_Item(Object key)
at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
at System.Resources.ResourceManager.GetObject(String name, CultureInfo culture)
at System.Resources.ResourceManager.GetObject(String name)
at SmartDeviceProject5.Form1.InitializeComponent()
at SmartDeviceProject5.Form1..ctor()
at SmartDeviceProject5.Program.Main()
I only get this exception in CE7. Any ideas?
I think MC32xx has only a "core" CE7. I had a similar problem. Have you got installed Compact Framework 3.5 properly. What does the windows\wceload.exe show you? Maybe you have to install this seperately.

Webview giving Column Does not Exist Error

I am using
MVC 3
VB.NET and
Razor ViewEngine.
I am playing around with WebGrid in my application and it is telling me "failEmList" does not exist.
Below is the code from the calling Function, the View, and the part of the model that it is getting the data from.
FailEmailSends is just a List(of string) and has lines with single entries of email Addresses.
Dim vm As New MassEmailVM
For Each _fail In failEmailSends
vm.failEmList.Add(_fail)
Next
ViewBag.succCount = succCount.ToString
ViewBag.failECount = failEmailCount.ToString
Return View(vm)
View is as follows:
#Modeltype xxxxxxxxxxxxx
#Code
ViewData("Title") = "Mass Emails Sent"
End Code
<table>
<tr><th>Total Sent</th><td>#ViewBag.succCount</td></tr>
<tr><th>Total Fail</th><td>#ViewBag.failECount</td></tr>
<tr><th>Fail Email Addresses</th></tr>
</table>
#code
Dim grid = New WebGrid(Model.failEmList)
End Code
<div id="grid">
#grid.GetHtml(
tableStyle:="grid",
headerStyle:="head",
alternatingRowStyle:="alt",
columns:=grid.Columns(
grid.Column("failEmList", "Email List")
))
</div>
Relevant part of view Model:
Private _failEmList As New List(Of String)
Public Property failEmList() As List(Of String)
Get
Return _failEmList
End Get
Set(ByVal value As List(Of String))
_failEmList = value
End Set
End Property
Any ideas why this is throwing the following error:
System.InvalidOperationException was unhandled by user code
Message=Column "failEmList" does not exist.
Source=System.Web.Helpers
StackTrace:
at System.Web.Helpers.WebGridRow.get_Item(String name)
at System.Web.Helpers.WebGrid.GetTableBodyHtml(IEnumerable`1 columns, String rowStyle, String alternatingRowStyle, String selectedRowStyle)
at System.Web.Helpers.WebGrid.Table(String tableStyle, String headerStyle, String footerStyle, String rowStyle, String alternatingRowStyle, String selectedRowStyle, String caption, Boolean displayHeader, Boolean fillEmptyRows, String emptyRowCellValue, IEnumerable`1 columns, IEnumerable`1 exclusions, Func`2 footer, Object htmlAttributes)
at System.Web.Helpers.WebGrid.GetHtml(String tableStyle, String headerStyle, String footerStyle, String rowStyle, String alternatingRowStyle, String selectedRowStyle, String caption, Boolean displayHeader, Boolean fillEmptyRows, String emptyRowCellValue, IEnumerable`1 columns, IEnumerable`1 exclusions, WebGridPagerModes mode, String firstText, String previousText, String nextText, String lastText, Int32 numericLinksCount, Object htmlAttributes)
at ASP._Page_Views_Admin_MassEmailsSent_vbhtml.Execute() in C:\Users\Skindeep\Documents\Visual Studio 2010\Projects\xxxxxxxxxx\Views\Admin\MassEmailsSent.vbhtml:line 21
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.StartPage.RunPage()
at System.Web.WebPages.StartPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
InnerException:
You may try the following:
#Code
Dim grid = New WebGrid(Model.failEmList)
End Code
<div id="grid">
#grid.GetHtml(
tableStyle:= "grid",
headerStyle:= "head",
alternatingRowStyle:= "alt",
columns:= grid.Columns(
grid.Column(format:= Function(item) item, header:= "Email List")
)
)
</div>
Try this
#grid.GetHtml(
columns: new[] {
grid.Column(format: (item) => item)
}
)
In case it helps someone, in my case I made a copy/paste error, and forgot to change the source when declaring the grid! Once I corrected the first column with the suggestions above, the second column threw the same error.
Dim grid = New WebGrid(Model.WasTheWrongNameHere)

Hql + SetFirstResult + SetMaxResult + Lazy Loading

I have this query
var hql = #"from Table1 tbl1
left join fetch tbl1.Table2";
var c =session.CreateQuery(hql).SetFirstResult(1).SetMaxResults(5)
.List<Table1>().ToList();
It keeps on dieing.
NHibernate.Exceptions.GenericADOException was unhandled by user code
Message=Could not execute query[SQL: SQL not available]
Source=NHibernate
SqlString=SQL not available
StackTrace:
at NHibernate.Impl.SessionImpl.List(String query, QueryParameters queryParameters, IList results)
at NHibernate.Impl.SessionImpl.List[T](String query, QueryParameters parameters)
at NHibernate.Impl.QueryImpl.List[T]()
at MvcApplication1.Controllers.Default1Controller.ThenInHql() in MvcApplication1\MvcApplication1\Controllers\Default1Controller.cs:line 152
at MvcApplication1.Controllers.Default1Controller.Index() in MvcApplication1\MvcApplication1\Controllers\Default1Controller.cs:line 21
at lambda_method(Closure , ControllerBase , Object[] )
at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
InnerException: System.ArgumentNullException
Message=Value cannot be null.
Parameter name: source
Source=System.Core
ParamName=source
StackTrace:
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at NHibernate.Engine.QueryParameters.CreateCopyUsing(RowSelection selection)
at NHibernate.Hql.Ast.ANTLR.QueryTranslatorImpl.List(ISessionImplementor session, QueryParameters queryParameters)
at NHibernate.Engine.Query.HQLQueryPlan.PerformList(QueryParameters queryParameters, ISessionImplementor session, IList results)
at NHibernate.Impl.SessionImpl.List(String query, QueryParameters queryParameters, IList results)
InnerException:
Edit
nhibernate profiler is telling me that it is like a casting problem?
ERROR:
The value "System.Object[]" is not of type "MvcApplication1.Models.Table1" and cannot be used in this generic collection.
Parameter name: value
NHibernate ICriteria’s SetFirstResult is ZERO BASED! First Result might indicate that it starts with 1 but it doesnt. SetFirstResult(1).SetMaxResults(5) is probably not what you’re trying to do.
change it to SetFirstResult(0).SetMaxResults(5)