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