【发布时间】:2016-08-23 22:53:41
【问题描述】:
假设我有一个这样的课程(为简洁起见省略了细节):
public class Address
{
public Address()
{
PostalCode = "";
}
public string PostalCode { get; set; }
}
在映射中,邮政编码为必填项:
public AddressMap()
{
this.Property(t => t.PostalCode)
.HasColumnName("PostalCode")
.IsRequired()
.HasMaxLength(50);
}
在数据库中定义如下:
CREATE TABLE [dbo].[Address] (
[PostalCode] VARCHAR (50) NOT NULL DEFAULT ((''))
);
它在代码中初始化为PostalCode的空值:
string pc = null;
var address = New Address()
{
PostalCode = pc
};
当我将该地址添加到 dbContext 并保存更改时,我得到一个 DbEntityValidationException,因为我试图为 NOT NULL 列保存一个空值。
有没有办法让实体框架或数据库不尝试将.IsRequired 字符串列保存为null,而是将其保存为空字符串?
【问题讨论】:
标签: c# sql-server entity-framework