【发布时间】:2011-05-22 18:02:59
【问题描述】:
我有一个最近从 1.0 升级到 2.0 的 asp.net MVC 应用程序。我使用 Linq-to-Sql 数据模型,在很多情况下,我一直使用这些作为我的模型对象,因为它很简单而且似乎可以工作......
我有一个与两个子表有外键关系的类 - 这些子表不会总是被填充(即外键可以为空)。
我的代码(有点简化)看起来像这样:
/// This would be the generated linq-to-sql class
public class ModelObject
{
//Bunch of properties
public ChildObject { get; set; }
public ChildObject2 { get; set; }
}
public ActionResult Edit(int ID)
{
//Get the current saved object
ModelObject test = _service.GetModelObject(ID);
UpdateModel(test);
}
自从升级到 2.0 后,我发现 updateModel 调用已经实例化了两个子对象 - 然后我的保存失败,因为其中一些具有不可为空的空字段。这在升级之前没有发生。
有没有办法阻止这种情况的发生(或者有人知道升级后为什么会发生这种情况)?
【问题讨论】: