在wcf应用程序中使用“using”语句时显示错误

时间:2011-02-25 07:11:23

标签: .net wcf

我有以下代码

 using  (AdventureWorksEntities database = new AdventureWorksEntities())

但它显示了

'New_WCF_App1.AdventureWorksEntities':在using语句中使用的类型必须可以隐式转换为'System.IDisposable'

如何解决这个问题

3 个答案:

答案 0 :(得分:6)

在WCF中对数据上下文使用using语句时出现这样的错误很可能意味着您缺少对System.Data.Entity程序集的引用。

答案 1 :(得分:4)

嗯,错误消息相当清楚 - AdventureWorksEntities没有实现IDisposable接口。它无法处理,因此您无法将其用作using语句中的资源。

接下来,您需要确定是否应该实施IDisposable,或者它是否真的没有任何资源可以处置。

编辑:根据评论,使用实体框架4,这应该没有任何额外的实现,因为自动生成的代码已经实现了IDiposable

答案 2 :(得分:2)

您需要添加对System.Data.entity的引用(如krzysztofkarolczak所说)(低于5.0)或EntityFramework.dll(实体5.0),这将解决您的问题。