У меня проблемы с модулем DNN DAL2, написанным на VB. Это установка DNN 7.3.2.
Методы Get модуля работают нормально, но методы Create, Update и Delete выдают ошибки, подобные этому:
DotNetNuke.Services.Exceptions.ModuleLoadException: Object reference not set to an instance of an object. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at DotNetNuke.Data.RepositoryBase`1.GetPropertyValue[TProperty](T item, String propertyName)
at DotNetNuke.Data.RepositoryBase`1.GetScopeValue[TProperty](T item)
at DotNetNuke.Data.RepositoryBase`1.ClearCache(T item)
at DotNetNuke.Data.RepositoryBase`1.Update(T item)
at TAC.DNN.Modules.TAC_NPIDal2.Components.ForumReadController.UpdateForumRead(ForumRead t) in D:\Websites\npi1-2017\DesktopModules\TAC_NPIDal2\Components\ForumReadController.vb:line 79
at TAC.DNN.Modules.TAC_NPIForum.Thread.Page_Load(Object sender, EventArgs e) in D:\Websites\npi1-2017\DesktopModules\TAC_NPIForum\Thread.ascx.vb:line 121
The Forum class is defined like this:
<TableName("NPIForum_Read")>
<PrimaryKey("ID", AutoIncrement:=True)>
<Cacheable("NPIForumRead", CacheItemPriority.Default, 20)>
<Scope("ForumID")>
Public Class ForumRead
Private _ID As Integer
Private _userID As Integer
Private _forumID As Integer
Private _threadID As Integer
Private _lastViewed As DateTime
(и с соответствующими Gets и Sets)
And the UpdateForumRead method is defined like this:
Public Sub UpdateForumRead(ByVal t As ForumRead)
Using ctx As IDataContext = DataContext.Instance()
Dim rep As IRepository(Of ForumRead) = ctx.GetRepository(Of ForumRead)()
rep.Update(t)
End Using
End Sub
Теперь база данных фактически обновлена. Сгенерированный код SQL выполняется без ошибок и таблица ForumThreads обновляется. Ошибка происходит это. При пошаговом выполнении исключение выдается в операторе «End Using». Кроме того, объект t в порядке и не имеет проблем.
Есть идеи на этот счет?
Спасибо