ASP.Net MVC 5 MF未创建枚举列
本文关键字:创建 枚举 MF Net MVC ASP | 更新日期: 2023-09-27 18:24:37
我是ASP.Net的新手,我正在尝试开发一个表示系统日志的模型,但控制器向导(创建脚手架视图)和代码优先的方法并没有创建所有列。
这是我的模型的定义:
namespace Project.Models
{
public enum SystemComponents : byte
{
Component1, Component2, Component3
}
public enum LogMessageCategory : byte
{
Warning, Error, Debug, Log
}
public class LogDbContext : DbContext
{
public DbSet<Log> Logs { get; set; }
}
public class Log
{
public int ID { get; set; }
[Required]
public SystemComponents AffectedComponent;
[Required]
public LogMessageCategory MessageCategory;
[Display(ResourceType = typeof(Resources.Resources), Name = "EventDate")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
[Required]
public DateTime EventDate { get; set; }
/// <summary>
/// Foreign Key that represents the event's emisor.
/// This can be both a User, or a System component
/// </summary>
public int ActorID { get; set; }
/// <summary>
/// Foreign Key that represents the event's emisor.
/// This can be both a User, or a System component
/// </summary>
public int ComponentID { get; set; }
}
我做错了什么?此外,在使用资源(用于国际化)的视图中显示此属性的正确方式是什么?(由于这个模型的实例将由系统创建,我不在乎如何在Create视图中显示字段)
此外,还有一个问题,我是否必须公开我的所有财产才能使用它们?在线教程没有对此进行解释,但如果没有,则不会在数据库中创建字段。
p.D.我想我使用的是EF 6.0(VS 2013 Premium)
您可能只需要将它们公开为属性,而不是公共字段。
[Required]
public SystemComponents AffectedComponent{ get; set; }
[Required]
public LogMessageCategory MessageCategory{ get; set; }