代码拉取完成,页面将自动刷新
Issue
,将无法得到答复。4.8.4.16
发生了什么?
efcore 添加时报错;错误信息为:Object reference not set to an instance of an object.
public class Startup : AppStartup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddDatabaseAccessor(options =>
{
options.AddDbPool<EQUDbContext>(DbProvider.Oracle);
options.AddDbPool<CHKDbContext, CHKDbContextLocator>(DbProvider.Oracle);
options.AddDbPool<NBDWDbContext, NBDWDbContextLocator>(DbProvider.Oracle);
options.AddDbPool<NBITGDbContext, NBITGDbContextLocator>(DbProvider.Oracle);
options.AddDbPool<DPSDbContext, DPSDbContextLocator>(DbProvider.Oracle);
options.AddDbPool<PMSDbContext, PMSDbContextLocator>(DbProvider.Oracle);
options.AddDbPool<SMESDbContext, SMESDbContextLocator>(DbProvider.Oracle);
options.AddDbPool<PUBDbContext, PUBDbContextLocator>(DbProvider.Oracle);
options.AddDbPool<PRMDbContext, PRMDbContextLocator>(DbProvider.Oracle);
options.AddDbPool<QUADbContext, QUADbContextLocator>(DbProvider.Oracle);
options.AddDbPool<STDDbContext, STDDbContextLocator>(DbProvider.Oracle);
options.AddDbPool<MYBASEDbContext, MYBASEDbContextLocator>(DbProvider.Oracle);
}, "Scene.Database.Migrations");
}
}
[AppDbContext("MYBASEConnectionString", DbProvider.Oracle)]
public class MYBASEDbContext : AppDbContext<MYBASEDbContext, MYBASEDbContextLocator>
{
public MYBASEDbContext(DbContextOptions<MYBASEDbContext> options) : base(options)
{
// 启用实体数据更改监听
EnabledEntityChangedListener = false;
// 忽略空值更新
//InsertOrUpdateIgnoreNullValues = true;
}
}
public sealed class MYBASEDbContextLocator : IDbContextLocator
{
}
public class CRAFTPERDISPOSITION : IEntity<MYBASEDbContextLocator>, IEntityTypeBuilder<CRAFTPERDISPOSITION, MYBASEDbContextLocator>
{
public string ID { get; set; }
public void Configure(EntityTypeBuilder<CRAFTPERDISPOSITION> entityBuilder, DbContext dbContext, Type dbContextLocator)
{
entityBuilder.HasKey(e => e.ID);
entityBuilder.Property(e => e.ID)
.HasMaxLength(36)
.IsUnicode(false);
}
public class Craftperdisposition : IDynamicApiController
{
private readonly IRepository<CRAFTPERDISPOSITION, MYBASEDbContextLocator> _main;
public Craftperdisposition(IRepository<CRAFTPERDISPOSITION, MYBASEDbContextLocator> main)
{
_main = main;
}
}
public async Task AddCraftperdisposition(CRAFTPERDISPOSITIONBase inData)
{
var data = new CRAFTPERDISPOSITION();
data.ID = Guid.NewGuid().ToString("N");
await data.InsertAsync();
}
异常堆栈是什么?
System.NullReferenceException: Object reference not set to an instance of an object.
at Furion.DatabaseAccessor.EntityExecutePart`1.InsertAsync(Nullable`1 ignoreNullValues, CancellationToken cancellationToken)
at Furion.DatabaseAccessor.Extensions.IEntityExtensions.InsertAsync[TEntity](TEntity entity, Nullable`1 ignoreNullValues, CancellationToken cancellationToken)
at Scene.Application.CraftperdispositionControllers.Craftperdisposition.AddCraftperdisposition(CRAFTPERDISPOSITIONBase inData) in D:\项目\宁波烟厂\现场代码\现场(新)\Scene.Application\CraftperdispositionControllers\Craftperdisposition.cs:line 53
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Logged|12_1(ControllerActionInvoker invoker)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
⚠⚠ 必须提供完整可运行且包含错误的
Git
仓库 DEMO,DEMO 提供最简单的错误逻辑代码,否则将无法得到答复。⚠⚠
请提供安装的 Nuget
包版本号。
期待的结果是?
为了减少不必要的沟通成本和时间成本,请再次确认 Issue
已按照要求正确填写,否则将被直接关闭。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
await data.InsertAsync();
要不换成这个试下?
await _main.InsertAsync(data);
登录 后才可以发表评论
FileDragTip