Database 无法从这些参数推断方法中类型参数的数据类型
我有下面的代码,它在提交行上抛出了一个错误。它表示无法从这些参数推断方法中的类型参数的数据类型。正如我(我认为)明确说明的数据类型,它肯定会工作。通过另一个查询直接从数据库获取Database 无法从这些参数推断方法中类型参数的数据类型,database,vb.net,linq,variables,range,Database,Vb.net,Linq,Variables,Range,我有下面的代码,它在提交行上抛出了一个错误。它表示无法从这些参数推断方法中的类型参数的数据类型。正如我(我认为)明确说明的数据类型,它肯定会工作。通过另一个查询直接从数据库获取用户ID Dim compulsoryModule = (From mods In db.Modules Join deg In db.Degrees On mods.Degree_code Equals deg.Degree_code
用户ID
Dim compulsoryModule = (From mods In db.Modules
Join deg In db.Degrees On mods.Degree_code Equals deg.Degree_code
Where deg.Degree_code = degree And mods.Compulsory = True And mods.Level = 1
Select mods.Module_code)
Dim year = (From mods1 In db.Modules
Join deg1 In db.Degrees On mods1.Degree_code Equals deg1.Degree_code
Where deg1.Degree_code = degree And mods1.Compulsory = True And mods1.Level = 1
Select mods1.Year)
Dim semester = (From mods In db.Modules
Join deg In db.Degrees On mods.Degree_code Equals deg.Degree_code
Where deg.Degree_code = degree And mods.Compulsory = True And mods.Level = 1
Select mods.Semester)
Dim take As New Take With _
{.User_Number = userId, _
.Degree_code = degree, _
.Module_code = compulsoryModule, _
.Year = years, _
.Semester = semesters}
db.Takes.InsertAllOnSubmit(take)
这是给出错误的最后一行Ok修复了此错误。问题是我返回了多个记录,并试图将它们作为一个新记录输入,从而导致了错误。我将submit部分修改为代码的for循环,以迭代结果并单独添加它们。我使用的循环是:
For Each moduleCode As String In compulsoryModules
Dim take As New Take With _
{.User_Number = userId, _
.Degree_code = degree, _
.Module_code = moduleCode, _
.Year = years, _
.Semester = semesters}
db.Takes.InsertOnSubmit(take)
希望这对其他人有帮助。好的,修复了此问题。问题是我返回了多个记录,并试图将它们作为一个新记录输入,从而导致了错误。我将submit部分修改为代码的for循环,以迭代结果并单独添加它们。我使用的循环是:
For Each moduleCode As String In compulsoryModules
Dim take As New Take With _
{.User_Number = userId, _
.Degree_code = degree, _
.Module_code = moduleCode, _
.Year = years, _
.Semester = semesters}
db.Takes.InsertOnSubmit(take)
希望这对其他人有帮助