首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新SubmitChanges() -不更新

更新SubmitChanges() -不更新
EN

Stack Overflow用户
提问于 2009-04-24 05:55:24
回答 2查看 2.1K关注 0票数 1

使用此代码,我的数据库中没有任何更改。当运行上面的代码时,不再创建新的条目,也不再更新条目。

代码语言:javascript
复制
public void UpdateCallback(callback cb_)
    {
        callback call = context.callbacks.Single(c => c.callbackID == cb_.callbackID);

            //call.callbackID = cb_.callbackID;
            call.status = cb_.status;
            call.contactName = cb_.contactName;
            call.company = cb_.company;
            call.phone = cb_.phone;
            call.calledDate = cb_.calledDate;
            call.callback1 = cb_.callback1;
            call.notes = cb_.notes;

        try
        {
            context.SubmitChanges();
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
        }
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-04-24 07:15:44

post与您的相似。

在他的例子中,更新不起作用,因为表没有主键。

您是否验证过CallbackId在数据库中被定义为PK?

票数 4
EN

Stack Overflow用户

发布于 2009-04-24 06:59:19

没有什么能立即引起我的注意。我发现使用DataContext的Log属性来查看生成的SQL非常有用。

请参阅http://msdn.microsoft.com/en-us/library/system.data.linq.datacontext.log.aspx

然后,您可以在调试时使用类似以下代码的代码将SQL输出到Visual Studio Debug窗口。

代码语言:javascript
复制
/// <summary>
/// Implementation of a <see cref="TextWriter"/> that outputs to the debug window
/// </summary>
public class DebugTextWriter : TextWriter
{
    public override void Write(char[] buffer, int index, int count)
    {
        System.Diagnostics.Debug.Write(new string(buffer, index, count));
    }

    public override void Write(string value)
    {
        System.Diagnostics.Debug.Write(value);
    }

    public override Encoding Encoding
    {
        get { return System.Text.Encoding.Default; }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/784677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档