这问题搞了我一下午啊,都怪vs2012,Entity Framework不能自动生成代码的原因!

这阵子做项目,重新拾起Silverlight。正好前一阵子装系统,果断就把VS2012装了上去,不想这回就遇到了问题。

我创建的项目是Silverlight Business Application,Silverlight版本5,自带WCF RIA。既然用的也是没啥新意的SQL Server,那就顺带用上Entity Framework做ORM吧。

以上这些都没啥难度。我先创建的数据库表,然后创建ADO.Net 实体模型。下一步自然是添加新的域服务(Domain Service),然后关联到刚才创建的实体模型。

不幸在这儿卡主了:


可用的上下文类一个都木有,并且有提示说“有些Entity Framework上下文类可能已被排除”!


当然啦,这种问题难不倒我,谷歌了半天,终于有结果了。

原因

在VS2012中,Entity Framework缺省地基于DbContext创建上下文类(这个词好别扭),然而WCF RIA不支持它。

解决方法

这个我就直接翻译下哈:

为了解决这个问题,你必须把它转成一个基于ObjectContext的模型。按下面的步骤做就行了:

1、在设计器中打开你的实体模型(如有必要,点一下设计器中空白的地方,保证没有对象处于选中状态)。

2、在属性窗口中,更改代码生成策略,从改到默认


3、删除那两个.tt文件。这里假设从创建实体模型以来,你没有修改这些文件。如果你有修改过,那么这些修改将会丢失。


4、重新生成项目。

现在,问题解决了。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值