我是 DotNetNuke 的新手,我正在创建一个新模块,我试图找出在数据库中上传数据的最佳方式是什么。
我使用了这段代码:
public void UpdateStudentByID(int studentID, Student student)
{
using (IDataContext ctx = DataContext.Instance())
{
var rep = ctx.GetRepository<Student>();
rep.Update(student);
}
}
但问题是它没有更新数据库中的任何内容,当我检查 SQL 配置文件时,我发现它生成了这个查询:
exec sp_executesql N'UPDATE [Attendance_Students] SET [Surname] = @0, [GivenNames] = @1, [Birthdate] = @2, [Gender] = @3, [Address1] = @4, [Address2] = @5, [State] = @6, [PostCode] = @7, [Notes] = @8, [CreatedByUserId] = @9, [LastModifiedOnDate] = @10 WHERE [StudentId] = @11',N'@0 nvarchar(4000),@1 nvarchar(4000),@2 datetime,@3 nvarchar(4000),@4 nvarchar(4000),@5 nvarchar(4000),@6 nvarchar(4000),@7 nvarchar(4000),@8 nvarchar(4000),@9 int,@10 datetime,@11 int',@0=N'Good',@1=N'Good',@2='2013-02-20 00:00:00',@3=N'Male',@4=N'dsfdfsdfdf',@5=N'',@6=N'SA',@7=N'',@8=N'good',@9=1,@10='2013-02-15 02:58:39.047',@11=0
从查询中可以明显看出,没有产生更新特定项目的 where 条件。
那么将对象更新到数据库中的最佳方法是什么?