我怎么能说EF6不插入NULL值
本文关键字:插入 NULL EF6 怎么能 | 更新日期: 2023-09-27 18:02:41
我在迁移中设置了deafaultValue
AlterColumn("Users", "NotNullValue", c => c.String(nullable: false, defaultValue: "Work it!"));
然后我尝试添加新对象,SqlProfiler显示我查询
INSERT [dbo].[WowTable]([NotNullValue],[OnceMoreValue]) VALUES (NULL, 'val')
that throw "cannot insert value null into column"
是任何方式停止插入和更新属性时,它为空?
乌利希期刊指南:域类:
public class User
{
public string NotNullValue { get; set; }
public int Id { get; set; }
public string OnceMoreValue { get; set; }
}
更新方法: public Task AddOrUpdate<TEntity>(TEntity entity) where TEntity : class, IEntity
{
_dbContext.Set<TEntity>().AddOrUpdate(x => x.Id, entity);
return _dbContext.SaveChangesAsync();
}
调用:AddOrUpdate(new User{OnceMoreValue = "val"});
您可以使用NotNullValue属性的[Required]属性来验证模型:
public class User
{
[Required]
public string NotNullValue { get; set; }
public int Id { get; set; }
public string OnceMoreValue { get; set; }
}
裁判:https://msdn.microsoft.com/en-in/data/gg193959.aspx
或者从我在迁移脚本中看到的,您有这个属性的默认值("Work It")。所以在你的User类构造函数中,你可以设置NotNullvalue = "Work It"这样在你提到的情况下这个默认值将被保存:
AddOrUpdate(new User{OnceMoreValue = "val"});