[英]LINQ to SQL: SubmitChanges() does not work?
这是我的代码
var bt = new BachtuocvnDataContext();
var matchedTeams = (from lt in bt.Bet_Leagues_Teams
where lt.LeagueID == leagueID
select (lt)).Single();
matchedTeams.TeamID = teamID;
bt.SubmitChanges(ConflictMode.ContinueOnConflict);
它不会更新表。 传统查询效果很好,我在这里找到了类似的问题:
但是我检查发现Bet_Leagues_Teams确实有一个主键。
Bet_Leagues_Teams班:
int ID (primary key)
int LeagueID;
int TeamID;
啊,我的错误。 我忘记了Bet_Leagues_Teams可能不包含所需的记录。 我必须检查记录是否存在,然后更新它,否则它不存在,必须将其添加到表中。 真可惜 原谅我浪费你的时间。 谢谢。
using(BachtuocvnDataContext bt = new BachtuocvnDataContext() )
{
Bet_Leagues_Teams matchedTeam =
bt.Bet_Leagues_Teams.Where(lt => lt.LeagueID == leagueID)
.SingleOrDefault();
if(matchedTeam != null)
{
matchedTeam.TeamID = teamID;
bt.SubmitChanges(ConflictMode.ContinueOnClonflict);
}
}
using( var bt = new BachtuocvnDataContext() )
{
var matchedTeam = bt.Bet_Leagues_Teams.Single( lt => lt.LeagueID == leagueID );
matchedTeam.TeamID = teamID;
bt.SubmitChanges( ConflictMode.ContinueOnClonflict );
}
请注意,如果存在多个匹配元素, Single()
将引发异常(如果您的schemea正确建模了“联盟”的概念,则将存在该异常)
您可能要在那里使用First()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.