DataClassesDatacontext提交更改时的Stackoverflow

时间:2016-11-17 13:39:18

标签: c# .net linq-to-sql

我目前正在尝试更新数据库中的值。我的代码完美运行,直到我为数据库添加了新值。我更新了我的DataClasses1.dbml,它显示了我添加到数据库的新列。在调用context.SubmitChanges()时,我仍然得到Stackoverflowexception。 ChangeSet包含2个应更新的对象(在这种情况下每行更新5列)

            var customers = new List<Customer>();
            using (var context = new DataClasses1DataContext())
            {
                var result = from custs in context.Customer
                             where custs.ACTION_ID == desRequest.First().ACTION_ID &&
                                    !custs.ARCHIVATED
                             select custs;

                Inputvalidation.SetAddressLines(ref result);
                context.SubmitChanges();
                customers = result.ToList();
            }

context.GetChangeSet显示:

{{Inserts: 0, Deletes: 0, Updates: 2}}
    Deletes: Count = 0
    Inserts: Count = 0
    Updates: Count = 2

在更新每一行之前,我使用此代码从nancyfx中的json-post添加新客户(令我惊讶的是仍然按预期工作)

    private static bool AddItems(string request)
    {
        // Hier alle sammeln und in einem wisch rein
        var customers = JsonConvert.DeserializeObject<IEnumerable<Customer>>(request);
        foreach (var cstmr in customers)
        {
            using (var context = new DataClasses1DataContext())
            {
                context.Customer.InsertOnSubmit(cstmr);
                try
                {
                    context.SubmitChanges();
                }
                catch (Exception)
                {
                    //TODO: Hier ggfs. reparieren
                    context.SubmitChanges();
                    return false;
                }
            }
        }
        return true;
    }

这些是错误详情:These are the error- &#34; Das Programm&#34; [8028] iisexpress.exe&#34; wurde mit Code -2147023895(0x800703e9)wasdet。&#34;

Stacktrace显示为null。 我做错了什么,我可以改进什么?

1 个答案:

答案 0 :(得分:0)

我删除了&#34; obj&#34;我的解决方案的文件夹并重建了项目,一切都按预期工作。