我使用EF 4.1和POCO。 带有edmx的实体位于单独的程序集中。
我打电话的时候:
var key = new EntityKey("MyEntities.Vendors", "Id", vendorId);
if (ctx.TryGetObjectByKey(key, out vendor)) ...
抛出异常“无法找到具有标识的类型的对象映射”
据我所知,EF在调用程序集中查找供应商,但在那里找不到它。 所以它应该是告诉上下文搜索类型的方式,但我不知道哪一个。
答案 0 :(得分:2)
ctx.MetadataWorkspace.LoadFromAssembly(assembly);
在尝试GetObjectByKey之前正常工作。'assembly'是模型类所在的程序集。