当前位置:  开发笔记 > 后端 > 正文

在NerdDinner中首次尝试Linq to Sql - 规则违规会阻止保存

如何解决《在NerdDinner中首次尝试LinqtoSql-规则违规会阻止保存》经验,为你挑选了1个好方法。

我试图通过ASP.Net MVC 1.0中的NerdDinner示例章节,我遇到了一个错误.在我到达需要编辑晚餐的部分之前,所有东西都是笨拙的.我从项目的创建到现在一直跟着指导,直到这一点(至少我能说的最好).但是,当我在NerdDinnerDataContext对象上调用SubmitChanges方法时,我得到一个异常,说:

规则违规会阻止保存

我没有注意到我的代码与最终项目中的代码之间存在任何差异(除了一些我还没有添加的其他功能,显然).基本上,我不知道如何在此时对此错误进行故障排除.我试图在网上寻找一些答案,没有运气.

以下是我项目中的一些代码片段,但我不确定它们会有多好.

来自我的DinnerRepository类:

    private NerdDinnerDataContext db = new NerdDinnerDataContext();
...
    public void Save()
    {
        db.SubmitChanges();
    }

来自DinnersController

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Edit(int id, FormCollection formValues)
    {
        // Retrieve existing dinner
        Dinner dinner = dinnerRepository.GetDinner(id);

        // Update dinner with form posted values
        dinner.Title = Request.Form["Title"];
        dinner.Description = Request.Form["Description"];
        dinner.EventDate = DateTime.Parse(Request.Form["EventDate"]);
        dinner.Address = Request.Form["Address"];
        dinner.Country = Request.Form["Country"];
        dinner.ContactPhone = Request.Form["ContactPhone"];

        // Persist changes back to database
        dinnerRepository.Save();

        // Perform HTTP redirect to details page for the saved Dinner
        return RedirectToAction("Details", new { id = dinner.DinnerID });
    }


我该如何解决此问题?我怎样才能找到这些"违反规则"的内容?

这是我的第一个问题,所以如果不是那么好,我会道歉.



1> Giovanni Gal..:

RuleViolations是NerdDinners的创建者Scott Hanselman决定封装业务逻辑的方式.

他将Linq To SQL类分开,并添加了一个名为GetRuleViolations()的函数,这是他添加所有业务规则的地方.看看那个方法,看看发生了什么.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有