如果将“代码生成策略”设置为“无”的实体数据模型(EDMX),EF如何确定将概念模型映射到哪些CLR类型?MS Entity Framework如何从概念模型映射到CLR类型?
我想我读了一些地方,它只是探讨匹配概念模型的类型的程序集,但这是参考EF的CTP版本。这仍然是这样吗? 我可以控制这个过程吗?
特别是,我正在将一个使用Linq2SQL的实际代码库转移到EF 4.0中使用POCO。因此,我有Linq2SQL类以及POCO类,现在它们驻留在同一个程序集中,但位于不同的名称空间中。我试图从L2S顺利迁移到EF,所以我想让这两个框架平行运行一段时间。不过,我得到一个运行时错误说
CLR类型EDM类型的映射 暧昧,因为多个CLR类型 匹配EDM类型“SOMETYPE”。 先前发现的CLR型 'SomeNamespace.SomeType',新发现的 CLR类型 'SomeNamespace.POCO.SomeType'
其中SomeNamespace是L2S实体的命名空间。如果EF只是探测与概念模型匹配的所有类型,则此错误是有意义的。我是否可以将EF限制为仅探测SomeNamespace.POCO命名空间?还是应该将我的POCO对象放在另一个程序集中?或者我应该采取第三种方法?
谢谢。