Tag: entityreference

entity framework – 插入具有多个模型和数据库的实体

我将我的域拆分为多个Entity Framework模型。 我有一些跨多个模型的共享实体(名为Lookup),但是,使用在entity framework中使用大型模型中描述的方法将这些实体替换为“使用”引用。 然而,让我的案例稍微独特的是,我还将这些模型分成多个数据库(每个模型一个)。 我在将一个共享实体插入公共数据库时遇到问题。 它失败了,错误: 具有标识“Harmony.Members.FK_ResidentialAddress_ResidenceTypeLookup”的成员在元数据集合中不存在。 它所指的外键在“公共DB”上不存在。 但我也没有在关系的另一边(名为ResidentialAddress)与实体合作; 我甚至没有包含初始化的其他实体的上下文(名为MembersDb)。 但是,两个模型都编译到同一个程序集中。 从 Lookup到ResidentialAddress没有导航属性。 虽然在另一个方向有一个导航属性(我不会坚持 – 只在内存中使用)。 用于CommonDb上下文的EntityConnection的MetadataWorkspace仅使用SSDL / CSDL / MSL显式初始化该数据库所需的数据。 我已经确认没有引用该组架构数据中提到的外键。 var metaAssembly = typeof(CommonDb).Assembly; var schemaResources = new string[] { String.Format(“res://{0}/Common.ssdl”, metaAssembly.FullName), String.Format(“res://{0}/Common.csdl”, metaAssembly.FullName), String.Format(“res://{0}/Common.mdl”, metaAssembly.FullName), } MetadataWorkspace metadata = new MetadataWorkspace(schemaResources, new []{ metaAssembly }); EntityConnection connection = new EntityConnection(metadata, myDatabaseConnection); […]