背景
使用EntityFramework同时建立了两个业务逻辑有有差异的数据库,在创建第二个库时,报如下错误。
{"Schema specified is not valid. Errors: \r\nThe mapping of CLR type to EDM type is ambiguous because multiple CLR types match the EDM type 'medicine_machineid'. Previously found CLR type 'RSSCS.SAS.Models1001.medicine_machineid', newly found CLR type 'RSSCS.SAS.Models1002.medicine_machineid'.\r\nThe mapping of CLR type to EDM type is ambiguous because multiple CLR types match the EDM type 'rsscs_mid'. Previously found CLR type 'RSSCS.SAS.Models1001.rsscs_mid', newly found CLR type 'RSSCS.SAS.Models1002.rsscs_mid'."}
原因分析
在同一程序内,两个数据库模型不能使用相同的表名。
解决方案
方案一、将两个数据库模型分离成两个程序
方案二、在表结构不干涉的情况下,合并数据库,加载合并的数据库模型
表结构不干涉是指A数据库 与B数据库重名的表,字段类型、长度、字段数量、字段名称等完全一致,在这种情况下可以使用合并数据库的操作,否则最好在同一个程序种只使用一个数据库模型。