使用Entity Framework在SQL Server数据库中存储空字符串而不是Null

时间:2016-04-19 15:06:51

标签: c# sql-server string entity-framework textbox

有一个第三方应用程序表允许Null用于几个varchar列。但是,如果在这些列上存储null,则应用程序崩溃。我无法对应用程序或数据库进行任何更改。

为了使事情变得更复杂,已经使用设计器创建了模型,我只能访问具有所有公司模型的已编译dll。

我创建了一个更新表的ASP.NET MVC页面,但如果列保留为空白,则会在数据库中插入null。

有没有办法确保如果文本框留空,则在数据库中存储空字符串而不是null?

1 个答案:

答案 0 :(得分:5)

将此添加到模型中的属性:

[DisplayFormat(ConvertEmptyStringToNull = false)]

例如:

[DisplayFormat(ConvertEmptyStringToNull = false)]
public string ValToBeNotNullInDb {get;set;}

https://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.displayformatattribute.convertemptystringtonull(v=vs.110).aspx