C# 将实体复制到其他DbContext

C# 将实体复制到其他DbContext,c#,entity-framework,C#,Entity Framework,我们的应用程序需要离线数据库功能,因此我们将所需的实体复制到离线数据库的DbContext 由于实体应该具有相同的ID,我们需要停用ID生成 在我们的模型创建方法中,我们使用Fluent API: dbModelBuilder.Entity<Event>().Property(e => e.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None); 我们如何在不添加会破坏在线应用程序的属性的情况下停用某些实体的I

我们的应用程序需要离线数据库功能,因此我们将所需的实体复制到离线数据库的
DbContext

由于实体应该具有相同的ID,我们需要停用ID生成

在我们的模型创建方法中,我们使用Fluent API:

dbModelBuilder.Entity<Event>().Property(e => e.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);

我们如何在不添加会破坏在线应用程序的属性的情况下停用某些实体的ID生成?

我们已经设法解决了这个问题。 流畅的API和属性工作良好

我们已经打过电话了

dbModelBuilder.Entity<Event>().Property(e => e.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
dbModelBuilder.Entity().Property(e=>e.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
在构建DBModel之后。
dbModelBuilder.Build()之前移动此代码可以解决问题。

这肯定是一个EF
DbContext
,而不是Linq2Sql
DataContext
?是的,我们使用的是
System.Data.Entity.DbContext
是否试图在
DbContext
的不同实例上打开和关闭DatabaseGenerated?您是否考虑过在构造函数中添加
DatabaseGeneratedOption
?但是,如果您试图从不同的源添加密钥,请考虑使用GUID ID……有两个不同的类继承自<代码> DbValue。一个用于启用DatabaseGeneration的在线功能,另一个用于启用
DatabaseGenerateOptions的离线功能。无
dbModelBuilder.Entity<Event>().Property(e => e.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);