在VB版本中保存具有以下異常的異常主鍵的行時: '未找到'Decimal'類型的公共成員'ChangeTypeTo'。SubSonic 3中的Casting問題
這發生在ActiveRecord.VB文件行3406:
Public Sub SetKeyValue(value As Object) Implements IActiveRecord.SetKeyValue
If value IsNot Nothing AndAlso value IsNot DBNull.Value Then
Dim settable = value.ChangeTypeTo(Of Integer)()
我可以改變最後一行:
Dim settable = CInt(value) 'value.ChangeTypeTo(Of Integer)()
這將解決這個問題,直到我重新編譯.TT文件。
我的問題是,我怎麼能改變ActiveRecord.tt文件中的這個? 在TT文件中的代碼看起來是這樣的:
Dim settable = value.ChangeTypeTo(Of <#=tbl.PK.SysType#>)()
任何幫助表示讚賞。
謝謝
但是,錯誤代碼的內在部分是將您的整數主鍵轉換爲Decimal。爲什麼不搜索回來? – Apocatastasis 2010-02-10 05:44:37
感謝您的意見。你說得對,VB模板似乎有問題。我按照你的建議做了,我在我的解決方案中添加了一個C#類庫項目,並使用了C#模板。我改變了我的參考(我的VB模板也在一個單獨的項目中)到C#項目,現在它完美地工作。 再次感謝。 gm – 2010-02-11 04:09:03