什么是实体在实体框架上下文中
本文关键字:实体 上下文 框架 什么 | 更新日期: 2023-09-27 18:19:16
我想用EntityFramework实现这个动作。bulkinset,我检查了文档,但我是EF的新手,我无法弄清楚在这种情况下什么是实体。什么是实体?
foreach (string tag in tags)
{
TagUser tagUser = new TagUser()
{
//Initialize TagUser
};
applicationUser.TagUsers.Add(tagUser);
}
db.SaveChanges();
下面是其文档中的示例代码:
using (var ctx = GetContext())
{
using (var transactionScope = new TransactionScope())
{
// some stuff in dbcontext
ctx.BulkInsert(entities);
ctx.SaveChanges();
transactionScope.Complete();
}
}
这是TagUserclass:
public class TagUser
{
[Required]
[Key, Column(Order = 0)]
[ForeignKey("Tag")]
public Guid TagId { get; set; }
[Required]
[Key, Column(Order = 1)]
[ForeignKey("ApplicationUser")]
public string Id { get; set; }
public virtual Tag Tag { get; set; }
public virtual ApplicationUser ApplicationUser { get; set; }
[Required]
public bool InEnglish { get; set; }
[Required]
public Int16 Priority { get; set; }
}
实体是标签用户集合,在进行批量插入之前,首先提供FK id。
using (var ctx = GetContext())
{
using (var transactionScope = new TransactionScope())
{
var entities= new List<TagUser>();
foreach (string tag in tags)
{
TagUser tagUser = new TagUser()
{
//Initialize TagUser
TagId = ..., // get something like tag.Id
Id = applicationUser.Id
};
entities.Add(tagUser);
}
ctx.BulkInsert(entities);
ctx.SaveChanges();
transactionScope.Complete();
}
}
在这种情况下,entities
将是您试图插入的实体列表。因此,不是每次都说TagUsers.Add(taguser)
,您可能会得到想要插入List<TagUser> tagusers
的TagUsers列表(可能像这样,我个人没有使用BulkInsert),并说applicationUser.BulkInsert(tagusers)