小编Bru*_*uim的帖子

在I/O回调之前执行的Node.js setImmediate(事件循环)

看看下面的代码:

var fs = require('fs');
var pos = 0;

fs.stat(__filename, function() {
 console.log(++pos + " FIRST STAT");
});

fs.stat(__filename, function() {
 console.log(++pos + " LAST STAT");
});

setImmediate(function() {
 console.log(++pos + " IMMEDIATE")
})
Run Code Online (Sandbox Code Playgroud)

当我执行此代码时,将显示以下结果:

在此输入图像描述

正如Node.js 文档所解释的那样,setImmediate在I/O回调之后执行,但是在这个例子中,setImmediate正在I/O回调之前执行,我错过了什么吗?

javascript event-loop node.js

5
推荐指数
1
解决办法
236
查看次数

EF Core:同时使用ID作为主键和外键

我有两个entites的,发展前景及人,我想要做的是使用Prospect.ID作为ProspectTable和是PersonID的外键的主键,我IDEIA是使用两个实体相同的ID而对需要的是PersonID的我展望实体.当潜在客户被保存在数据库中时,它会尝试保存PersonID,即使我没有在我的Prospect实体上拥有此属性,我想知道ef核心是否支持这种关系.

这是我在模型构建器上得到的.

modelBuilder.Entity<ProspectDto>(builder => { builder.ToTable("Prospects"); builder.HasKey(prospect => prospect.ID); });

modelBuilder.Entity<PersonDto>(builder => { builder.HasOne(p => p.Prospect).WithOne().HasForeignKey<ProspectDto>(pe => pe.ID); });
Run Code Online (Sandbox Code Playgroud)

这是在数据库上执行的内容:

INSERT INTO [Prospects] ([ID], [PersonID]) VALUES (@p421, @p422),

PersonDTO:

public class PersonDto : DtoBase
{
    public PersonDto()
    {

    }

    public ProspectDto Prospect { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

ProspectDTO:

public class ProspectDto : DtoBase
{
    public ProspectDto()
    {

    }

    public PersonDto Person { get; set; } = new PersonDto();
}
Run Code Online (Sandbox Code Playgroud)

DtoBase:

public abstract class DtoBase
{
    public Guid ID { …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-core ef-model-builder

2
推荐指数
2
解决办法
8084
查看次数

Dynamodb:更新用作排序键的属性

如果用作 sortKey 的属性的值发生更改,会发生什么情况?

例如,假设我有一个表 products,我将使用 ID 作为分区键,将产品的状态作为排序键,如果我更新产品的状态,产品的状态也会存储为产品的属性,Dynamodb会自动更新sortKey吗?

amazon-dynamodb

1
推荐指数
1
解决办法
4045
查看次数