【发布时间】:2009-06-15 09:22:44
【问题描述】:
大家好,我在使用 Linq-To-SQL 时遇到了奇怪的事情
我正在构建一个 postit 系统,允许人们制作 postit 并将它们附加到多个对象上。用于此的数据库是一个包含 postit 本身(id、message 等)的表和一个包含 postit 附加到的记录的链接表。
我正在经历的奇怪的事情如下。 当我从数据库中检索一个对象(使用 Linq-To-SQL),做一些数据更改并再次提交时,我没有遇到任何麻烦。 然而,当我尝试制作一个新的时,我在 datacontext 的 Submitchanges 方法中遇到异常:Specified Cast is not valid.
我一直在网上寻找,主要是涉及到映射的一些变化,但这不应该是这样,因为我可以毫无问题地更新。
T_PostIt np = new T_PostIt();
np.CreatedOn = DateTime.Now;
np.CreatedBy = Request.ServerVariables["REMOTE_USER"].ToString();
np.MarkedForDeletion = false;
np.Message = txtNewPostitMessage.Text;
np.ModifiedBy = Request.ServerVariables["REMOTE_USER"].ToString();
foreach (int i in ServerIds)
{
T_PostIt_Link pil = new T_PostIt_Link();
pil.LinkType = 'S';
pil.LinkID = i;
pil.MarkedForDeletion = false;
np.T_PostIt_Links.Add(pil);
}
dc.T_PostIts.InsertOnSubmit(np);
dc.SubmitChanges();
我使用上面的代码,但似乎无法理解我做错了什么。
帮助任何人?
【问题讨论】:
标签: c# linq-to-sql