首页 新闻 会员 周边

Entity Framework 调用GetObjectByKey方法,抛出ArgumentException异常

0
悬赏园豆:10 [已关闭问题] 关闭于 2013-07-27 22:28

我在一个解决方案里面放了2个项目,一个Library 项目, 一个Window form项目,我在这2个项目里面写了同一段代码:

var key = new EntityKey(string.Format("{0}.{1}", ctx.DefaultContainerName, "Orders"), "OrderId", 11);
var entity = ctx.GetObjectByKey(key);

在Library 项目里面,不报错,在Window form项目里面报以下错误:

Message=The member with identity 'Order' does not exist in the metadata collection.
Parameter name: identity

实在没辙了,求Professional 帮忙看看,不胜感激!!

Codisan的主页 Codisan | 初学一级 | 园豆:58
提问于:2013-07-27 20:50
< >
分享
所有回答(2)
0

在Library项目中用的是"Orders",检查一下是不是在Windows Forms项目中用的是"Order"

dudu | 园豆:30948 (高人七级) | 2013-07-27 22:12

谢谢,代码是copy 过去的,不会错!

支持(0) 反对(0) Codisan | 园豆:58 (初学一级) | 2013-07-27 22:14

@BitterCoffee: 建议输出string.Format("{0}.{1}", ctx.DefaultContainerName, "Orders"),看两个项目中的值是否一样

支持(0) 反对(0) dudu | 园豆:30948 (高人七级) | 2013-07-27 22:16

@dudu: 看过了的,都没问题

支持(0) 反对(0) Codisan | 园豆:58 (初学一级) | 2013-07-27 22:19
0

自己解决了,加上这样一句话就OK了:ctx.MetadataWorkspace.LoadFromAssembly(System.Reflection.Assembly.Load("OrderIT.Model"));

也不知道为啥,从这儿看到的:http://social.msdn.microsoft.com/Forums/en-US/df770006-43c1-4576-951f-1b2e396202a6/object-mapping-could-not-be-found-for-type-with-identity

Codisan | 园豆:58 (初学一级) | 2013-07-27 22:27

Windows Forms项目有没有引用OrderIT.Model

支持(0) 反对(0) dudu | 园豆:30948 (高人七级) | 2013-07-27 22:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册