2011-02-03 180 views
0

我正在使用实体框架来创建我的数据对象。我有一个名为用户的实体。它包含一个名为Code的属性,它是一个整数。设置模型属性的初始值?

的问题是,当我通过空用户实体到我的创建视图,并调用

<%: Html.TextBoxFor(m => m.Code) %> 

文本框填充了一个0

我不能设置该属性可空因为我的数据库中的值不能为空。这意味着我无法在控制器中将该值设置为null。

我该怎么办?

回答

4

您不应该直接绑定到EF模型,完全针对这些类型的问题。

EF不应该关心UI,UI不应该关心EF。

推荐的中间人总是ViewModel

设置一个ViewModel在你的控制器,它应该包含的代码,它可以绑定到(如@Divi说)一个字符串属性

当您提交表单时,将ViewModel映射到EF模型以便保存到数据库。

0

难道你不能在模型上创建一个字符串属性并将视图绑定到该属性?并在控制器中设置实际的int属性基于字符串属性?