实体框架尝试将空字符串保存为数据库中的null

时间:2013-05-01 15:04:45

标签: c# asp.net entity-framework webforms

我不得不使用数据库表,无论出于何种原因,都要求所有条目都有一个值(NOT NULL)。并非所有条目都与用户相关,并且当通过网络表单输入条目时,它们将使条目留空。我正在使用Entity Framework的FormView数据绑定。

我遇到的问题是,它没有为没有文本的TextBoxes输入空字符串或空字符串,而是尝试使用NULL值。有没有办法只输入一个空字符串来安抚数据库约束?

我希望我可以在数据库中更改这些以允许空值,但遗憾的是我没有访问权限。

这是aspx的一个片段:

 <asp:TextBox ID="CustIdTextBox" runat="server" Text='<%# Bind("CustId") %>' />

看起来实体框架正在取空字符串并决定将其作为NULL保存到数据库中。

1 个答案:

答案 0 :(得分:1)

我们肯定需要一些代码,但我猜测textbox.text属性没有初始化,所以它会给你NULL。只需将其初始化为空字符串,或在更新数据库之前用string.empty替换null。