如何让EF将空字符串保持为NULL?

Jos*_*off 4 entity-framework entity-framework-4.1

在我的域中,NULL和空字符串之间没有重要的区别.如何让EF忽略两者之间的差异并始终将空字符串保持为NULL?

Lad*_*nka 5

空字符串不是字符串属性的默认值,因此这意味着您的代码在某处设置空字符串.在这种情况下,您有责任处理它.

如果您首先使用POCO代码,则可以使用自定义setter:

private string _myProperty;
public string MyProperty
{
    get { return _myProperty; }
    set
    {
        if (value == String.Empty)
        {
            _myProperty = null;
        }
        else
        {
            _myProperty = value;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)