我正在创建一个与asp.net mvc一起使用的模型绑定器.这是我到目前为止所得到的:
public class ModelBinder : DefaultModelBinder
{
protected override object CreateModel(ControllerContext controllerContext, ModelBindingContext bindingContext, Type modelType)
{
PersistentClass mapping = DataAccess.Configuration.GetClassMapping(modelType);
if(mapping != null)
{
ValueProviderResult value = bindingContext.ValueProvider.GetValue(mapping.IdentifierProperty.Name);
if(value != null)
{
object keyValue = value.ConvertTo(mapping.Key.Type.ReturnedClass);
if(mapping.Key.**** IsUnsavedValue(value) ****)
{
return DataAccess.Session.Load(modelType, keyValue);
}
}
}
return base.CreateModel(controllerContext, bindingContext, modelType);
}
}
有没有办法检查NHibernate中是否未保存实体键的值?即,我将用什么替换**** IsUnsavedValue(值)****?
或者有没有办法在映射文件中获取id的unsaved-value的值.即以下****:
<id unsaved-value="****">
最佳答案 尝试mapping.Identifier.NullValue