EntityFrameowk6.1 使用enum和低版本的不同
原有项目中使用EF5.0 实体类
public partial class Log : BaseEntity { public Nullable<int> LogLevelId { get; set; } /// <summary> /// Gets or sets the log level /// </summary> public LogLevel LogLevel { get { return (LogLevel)this.LogLevelId; } set { this.LogLevelId = (int)value; } } } /// <summary> /// Represents a log level /// </summary> public enum LogLevel { Debug = 10, Information = 20, Warning = 30, Error = 40, Fatal = 50 }
今天更新到EF6.1中,项目报错(An error occurred while updating the entries. See the inner exception for details),之前也没有看EF具体的更新内容,用SQL Profiler查看生成的SQL语句原来多了一个LogLevel字段,改成
public partial class Log : BaseEntity { //public int LogLevelId { get; set; } /// <summary> /// Gets or sets the log level /// </summary> public LogLevel LogLevelId { get; set; } } /// <summary> /// Represents a log level /// </summary> public enum LogLevel { Debug = 10, Information = 20, Warning = 30, Error = 40, Fatal = 50 }
可以保存成功了。等明天仔细看下EF5.0以后的更新内容。
浙公网安备 33010602011771号