SubSonic3 VB.Net添加、更新、第一个或默认问题

SubSonic3 VB.Net添加、更新、第一个或默认问题,vb.net,activerecord,subsonic3,Vb.net,Activerecord,Subsonic3,我使用subsonic3 Vb.net模板构建了动态记录dal。我正在处理许多次声DLL中的bug 1在添加函数中:我已修复 当indx在数据库中有计数器时,返回的新密钥类型为十进制,活动记录fil有异常公共成员“未找到”将类型更改为“n类型”“十进制”。 我设法修复了这个错误。我在activeRecord模板中更改了sub 旧的 新的 2在更新功能中:我已修复 更新永远不会起作用。调试完成后,更新的sql语句从未设置过查询的dection,它始终是这样的: 更新[tableName],其中。。

我使用subsonic3 Vb.net模板构建了动态记录dal。我正在处理许多次声DLL中的bug

1在添加函数中:我已修复 当indx在数据库中有计数器时,返回的新密钥类型为十进制,活动记录fil有异常公共成员“未找到”将类型更改为“n类型”“十进制”。 我设法修复了这个错误。我在activeRecord模板中更改了sub

旧的

新的

2在更新功能中:我已修复 更新永远不会起作用。调试完成后,更新的sql语句从未设置过查询的dection,它始终是这样的: 更新[tableName],其中。。。 似乎亚音速.Repository dll->i存储库中存在问题 未在新对象中应用脏柱,例如:

Dim Cat作为数据库类别 类别Indx=1 Cat.SetIsNewFalse 类别名称=‘马达’ 类别更新 为什么更新时没有DirtyColumns?如何将列设置为Dirty

-更新问题已解决,它不是一个bug。- 通过在第3行之后添加来解决:CAT.SetIsLoadedTrue。 因此,当property IsLoaded设置为tru时,任何更新的列都将添加到DirtyColums,而这些列将更新到DB

3 FirstOrDefault函数:无法修复 always i meaaaaan always抛出exsiption=第1行:附近的语法不正确。 从亚音速.Linq dll

请帮忙

提前感谢,,
教父首先,你使用的是亚音速3的哪个版本

我不知道你想在这里做什么

2这不是你更新记录的方式,试试这个

Dim cat = Category.SingleOrDefault(Function(item) item.CategoryID = 1)
cat.CategoryName = "MOTORS"
cat.Update()

3如上面的例子所示,亚音速使用SingleOrDefault。

这里的问题实在太多了。我建议您将这一个问题分成三个独立的问题,以便于其他人帮助/回答。主要问题:我在SQLServer2000中使用亚音速3。FirstOrDefault函数:always i meaaaaan always throw exsiption=第1行:附近语法不正确。来自亚音速,林克·德洛凯。但正如我所说,也许你应该使用SingleOrDefault?我上面的例子2对我来说是有效的,我不知道为什么它对你来说是无效的。。。cat=Category.FindFunctionitem.CategoryID=1.FirstOrDefault多谢您的时间。您是否使用SQLServer2000进行了尝试。我认为这就是隐藏查询sentax的问题所在。在每个select查询中,在select之后添加TOP n,并且这个sentax在SQLServer2000中工作,它应该是TOP n。所以我知道我99.999%肯定这是一个错误。
   Public Sub SetKeyValue(value As Object) Implements IActiveRecord.SetKeyValue
        If value IsNot Nothing AndAlso value IsNot DBNull.Value Then
            Dim settable = CType( value, <#=tbl.PK.SysType#>)
            Me.GetType.GetProperty(Me.KeyName()).SetValue(Me, settable, Nothing)
        End If
    End Sub 
Dim cat = Category.SingleOrDefault(Function(item) item.CategoryID = 1)
cat.CategoryName = "MOTORS"
cat.Update()