我在这些更新之前有一个insert语句: 在db.sumbitchanges上显示错误。
Topic top = (from t in db.Topics
where t.id == id
select t).SingleOrDefault();
top.lastpost = username + maxdate;
Category ca = (from c in db.Categories
where c.categoryid == cat
select c).SingleOrDefault();
ca.totaltopics = ca.totaltopics + 1;
ca.posts = ca.posts + 1;
ca.lastpost = username + maxdate;
db.SubmitChanges();
答案 0 :(得分:4)
听起来top.lastpost
或ca.lastpost
(或两者)在数据库上没有足够的空间来容纳username
+ maxdate
。
检查数据库字段允许的字符数,并更改字段以允许更多字符或减少输出长度 - 可能只存储username + maxdate.ToString("yyyy-MM-dd")
或username + maxdate.ToString("yyyy-MM-dd HH:mm:ss")
?
答案 1 :(得分:1)
我假设Topic.lastpost
和Category.lastpost
都是string
,username + maxdate
连接两个字符串。结果可能比相应表中的lastpost
列更大。
答案 2 :(得分:0)
字符串长于DB列的大小,因此结果数据不适合内部。