我有一个用于导入数据的 ADO.Net 数据服务。大多数实体都链接到许多实体。要在导入期间执行此操作,我首先创建这些实体,保存它们,然后使用 .SetLink(EntityImport, "NavigationProperty", CreatedEntity)。现在我遇到的第一个问题是上下文并不总是知道 CreatedEntity(这是由于每个实体都是独立导入的,并且在创建每个项目时都会创建一个上下文 - 我想保留这个功能- 即我试图避免“只使用一个上下文”作为答案)。
因此,在尝试调用 SetLink 之前,我有一个 .AddToCreatedEntityType(CreatedEntity)。这当然是第一次工作,但在第二次通过时,我收到错误消息“上下文已经在跟踪实体”。
有没有办法检查上下文是否已经在跟踪实体(context.Contains(CreatedEntity) 尚未实现)?我正在考虑尝试尝试捕获并避免错误,但这似乎每次通过都会创建一个新的 CreatedEntity 。看起来我每次都需要使用 LINQ to Data Services 来获取 CreatedEntity ,但这似乎效率低下 - 有什么建议吗?