设置模型属性的初始值?

时间:2011-02-03 03:14:55

标签: c# asp.net asp.net-mvc

我正在使用Entity Framework来创建我的数据对象。我有一个名为Users的实体。它包含一个名为Code的属性,它是一个整数。

问题在于,当我将空白用户实体传递到我的创建视图时,并调用

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

文本框填充为0.

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

我该怎么办?

2 个答案:

答案 0 :(得分:4)

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

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

推荐的中间人始终是 ViewModel

在Controller中设置一个ViewModel,它应包含代码的字符串属性,您可以绑定它(如@Divi所说)。

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

答案 1 :(得分:0)

您无法在模型上创建字符串属性并将视图绑定到该属性吗?并在控制器中根据字符串属性设置实际的int属性?