问题描述
我正在将NLog用于Asp.Net Core 3.1 Web应用程序。 我正在尝试使用迁移为日志记录创建表。
我正在尝试转换此脚本:
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
CREATE TABLE [dbo].[Log] (
[Id] [int] IDENTITY(1,1) NOT NULL,[Application] [nvarchar](50) NOT NULL,[Logged] [datetime] NOT NULL,[Level] [nvarchar](50) NOT NULL,[Message] [nvarchar](max) NOT NULL,[Logger] [nvarchar](250) NULL,[Callsite] [nvarchar](max) NULL,[Exception] [nvarchar](max) NULL,CONSTRAINT [PK_dbo.Log] PRIMARY KEY CLUSTERED ([Id] ASC)
WITH (PAD_INDEX = OFF,STATISTICS_NORECOMPUTE = OFF,IGNORE_DUP_KEY = OFF,ALLOW_ROW_LOCKS = ON,ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
要迁移,但是我不知道如何处理约束部分。我是否需要添加一些代码来说明该约束部分,或者只是去:
add-migration已添加日志表
更新数据库
到目前为止,我已经创建了表格模型:
public class Log
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required]
[MaxLength(50)]
public string Application { get; set; }
[Required]
public DateTime Logged { get; set; }
[Required]
[MaxLength(50)]
public string Level { get; set; }
[Required]
[MaxLength]
public string Message { get; set; }
[MaxLength(250)]
public string Logger { get; set; }
[MaxLength]
public string Callsite { get; set; }
[MaxLength]
public string Exception { get; set; }
}
然后我有了数据库上下文类:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
public DbSet<Log> DbLogs { get; set; }
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
//builder.Seed();
foreach(var foreignKey in builder.Model.GetEntityTypes()
.SelectMany(e=> e.GetForeignKeys()))
{
foreignKey.DeleteBehavior = DeleteBehavior.Restrict;
}
}
}
请您提供一些帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)