0
私はrecodrsのコレクションをコピーし、新しいIDを持つdbに追加する必要があります。NFgsql AddRangeインデックスのEFコア
var subEntities= ct.SubEntities.Where(qf => qf.ParentEntityId == oldParentEntityId).ToList();
subEntities.ForEach(qf => { qf.ParentEntityId = newParentEntityId; qf.Id = default(int); });
ct.SubEntities.AddRange(subEntities);
AddRange
がsubEntities
が-2147482647のような厄介なのIdsを持っているすべてのエンティティを実行しており、正しい順序があるが、彼らはデシベルに入ります。それを修正するには?
私のエンティティクラスとマッピング:
public class SubEntity
{
public int Id { get; set; }
public Guid ParentEntityId { get; set; }
public virtual ParentEntity ParentEntity { get; set; }
//props
}
public class ParentEntity
{
public Guid Id { get; set; }
public virtual List<SubEntity> SubEntities { get; set; }
//props
}
//OnModelCreating
builder.Entity<ParentEntity>()
.HasMany(q => q.SubEntities)
.WithOne(qf => qf.ParentEntity)
.HasForeignKey(qf => qf.ParentEntityId)
.OnDelete(Microsoft.EntityFrameworkCore.Metadata.DeleteBehavior.Cascade);
Selectメソッドで新しいインスタンスを作成しようとしましたか?私はあなたのエンティティのマッピングについて知っておく必要があります、あなたはそのコードを投稿できますか? –
@ H.Herzlはい、ソースコレクションとAddRangeから新しいインスタンスを選択しようとしましたが、すべて同じです。 – Slip
変更を保存するためにfulllコードを表示する必要がありますか? –