使用 Subsonic (MySql) 更新记录时出错
我正在使用以下代码来更新表中的记录:
var usr = test.Data.user.SingleOrDefault(y => y.id == 1);
usr.name = "test";
usr.Save();
检索行工作正常,但是当我 Save() 时,我在文件 database.cs 第 412 行中收到 NullReferenceException 中断,即以下代码:
Constraint c = new Constraint(ConstraintType.Where, tbl.PrimaryKey.Name)
{
ParameterValue = settings[tbl.PrimaryKey.Name],
ParameterName = tbl.PrimaryKey.Name,
ConstructionFragment = tbl.PrimaryKey.Name
};
tbl.PrimaryKey 为 null在这个地方,我认为这可能是问题所在。我确实在表的 id 字段上设置了主键。我还在 Visual studio 2010 上使用 git 存储库的最新版本。有人知道可能是什么问题吗?
编辑:
通过使用此线程中 nosynchro 的答案来修复:
SubSonic 3 和 MySQL,从 CleanUp() 方法中的列名中删除下划线会导致在 linq-query 中使用属性时出现异常
希望这也能在 git 存储库中得到修复。
I am using the following code to update a record in my table:
var usr = test.Data.user.SingleOrDefault(y => y.id == 1);
usr.name = "test";
usr.Save();
retrieving the row works perfectly but when I Save() I get a NullReferenceException breaking in the file database.cs line 412, which is the following code:
Constraint c = new Constraint(ConstraintType.Where, tbl.PrimaryKey.Name)
{
ParameterValue = settings[tbl.PrimaryKey.Name],
ParameterName = tbl.PrimaryKey.Name,
ConstructionFragment = tbl.PrimaryKey.Name
};
tbl.PrimaryKey is null at this place, which I think may be the problem. I do have a primary key set on the id field of my table. I'm also using the latest build from the git repo on Visual studio 2010. Anyone have an idea of what could be the problem?
EDIT:
Fixed by using the answer from nosynchro in this thread:
Hope this also get fixed in the git repo.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我是亚音速的新手,当我尝试更新从数据库检索到网格视图的数据时,我遇到了同样的错误。我使用了从该网站获得的一段代码。
代码:
这里,Emptab==我的表的类,(Fname,Mname)==表的列名称
I'm a new one to subsonic, I got this same error when i tried to update my data which retrieve from database to gridview. I used a piece of code which i got from this website.
Code:
Here, Emptab== Class for my table, (Fname,Mname)==Table's Column name