这是我的日志表:
public class Logs
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int id { get; set; }
public DateTime Date { get { return DateTime.Now; } }
public string Controller { get; set; }
public string Action { get; set; }
public string Text { get; set; }
public bool isError {
get {
return this._isError.HasValue ? this._isError.Value : false;
}
set {
this._isError = value;
this.isError = value;
}
}
private bool? _isError = null;
}
而且我不知道为什么要插入,例如:
var log = new Logs();
log.Action = "Send";
log.Controller = "Home";
log.Text = msg;
_context.logs.Add(log);
我收到此错误:
System.InvalidOperationException:'可为空的对象必须具有一个值。'
这是对象:
private _isError
变量除外,所有数据库列都有一个值。错误在哪里?
提前感谢!
为什么您的私有财产可为空,而您的公共财产却不为空?
我将删除您的私有财产,然后更改您的公共财产:
public bool IsError { get; set; }
由于您无论如何都不会返回'null',为什么要选择它?