1
“XXX的一个实例的标识是从X到Y改变的”我使用ASP.NET MVC与NHibernate的UpdateModel + NHibernateException
public class User
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual Country Country { get; set; }
}
public class Country
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
}
我有一个页面编辑用户, 存在dropdownlist来选择国家
我使用UpdateModel()更新用户。 它适用于User.Name。 它更新User.Country.Id,但不是User.Country.Name (因为该页面只发送Country.Id)。所以我使用这个:User.Country = countryDao.Get(User.Country.Id) 但当我保存用户时,我有一个NHibernateException:{“国家实例的标识符从1更改为2”}
我该怎么办?
如果你想保存设置级联更新关于引用的实体的变化。将国家/地区ID设置为私人设置;并看看它是否编译。 – 2011-06-14 22:14:38