给定一个“代码生成策略”设置为“无”的实体数据模型(EDMX),EF如何确定要将概念模型映射到哪个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对象放到另一个程序集中吗?还是应该采取第三种方法?
谢谢您。