gpt4 book ai didi

asp.net-mvc - 在 NerdDinner 中首次尝试 Linq to Sql - 违反规则导致无法保存

转载 作者:行者123 更新时间:2023-12-01 20:16:23 26 4
gpt4 key购买 nike

我正在尝试查看 NerdDinner ASP.Net MVC 1.0 的示例章节中我遇到了一个错误。一切都很顺利,直到我需要编辑晚餐的部分。从项目创建到现在,我一直逐字逐句地遵循指南(至少是我能说的最好的)。但是,当我在 NerdDinnerDataContext 对象上调用 SubmitChanges 方法时,我收到一个异常:

Rule violations prevent saving

我没有注意到我现在的代码和最终项目中的代码之间有任何差异(显然,除了我尚未添加的一些附加功能)。基本上,我目前不知道如何解决此错误。我尝试在网上寻找一些答案,但没有成功。

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

来 self 的 DiningRepository 类:

    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 });
}


我该如何解决此问题?我怎样才能找到这些“违规行为”是什么?

这是我的第一个问题,如果问题不是那么好,我深表歉意。

最佳答案

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

他对 Linq To SQL 类进行了部分划分,并添加了一个名为 GetRuleViolations() 的函数,他在其中添加了所有业务规则。看一下该方法,看看发生了什么。

关于asp.net-mvc - 在 NerdDinner 中首次尝试 Linq to Sql - 违反规则导致无法保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/691795/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com