看看下面的代码:
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回调之前执行,我错过了什么吗?
我有两个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) 如果用作 sortKey 的属性的值发生更改,会发生什么情况?
例如,假设我有一个表 products,我将使用 ID 作为分区键,将产品的状态作为排序键,如果我更新产品的状态,产品的状态也会存储为产品的属性,Dynamodb会自动更新sortKey吗?