我正在使用实体框架来创建我的数据对象。我有一个名为用户的实体。它包含一个名为Code的属性,它是一个整数。设置模型属性的初始值?
的问题是,当我通过空用户实体到我的创建视图,并调用
<%: Html.TextBoxFor(m => m.Code) %>
文本框填充了一个0
我不能设置该属性可空因为我的数据库中的值不能为空。这意味着我无法在控制器中将该值设置为null。
我该怎么办?
我正在使用实体框架来创建我的数据对象。我有一个名为用户的实体。它包含一个名为Code的属性,它是一个整数。设置模型属性的初始值?
的问题是,当我通过空用户实体到我的创建视图,并调用
<%: Html.TextBoxFor(m => m.Code) %>
文本框填充了一个0
我不能设置该属性可空因为我的数据库中的值不能为空。这意味着我无法在控制器中将该值设置为null。
我该怎么办?
您不应该直接绑定到EF模型,完全针对这些类型的问题。
EF不应该关心UI,UI不应该关心EF。
推荐的中间人总是ViewModel。
设置一个ViewModel在你的控制器,它应该包含的代码,它可以绑定到(如@Divi说)一个字符串属性。
当您提交表单时,将ViewModel映射到EF模型以便保存到数据库。
难道你不能在模型上创建一个字符串属性并将视图绑定到该属性?并在控制器中设置实际的int属性基于字符串属性?