2 ilovemyfamily jiejie ILOVEMYFAMILY_jiejie 于 2014.12.15 13:59 提问

vs2012 MVC4 using的问题

在vs2012 mvc4 中
public ActionResult list()
{
using (DbContext db = new DbContext())
{
List lm = db.t_qingjia.ToList();
ViewData["t"] = lm;
return View("list");
}
}
报using语句中使用的类型必须可隐式转换为System.IDisposable,我引用里有EntityFramework,为什么还是报必须可隐式转换为System.IDisposable的错误,这是怎么回事呀?

2个回答

devmiao
devmiao   Ds   Rxr 2014.12.15 14:24

你的DbContext是不是用CodeFirst创建的?有没有实现IDisposable接口?是不是从Entity.DbContext继承的?我怀疑你继承的基类搞错了。
Entity.DbContext是隐式实现IDispose接口的。

guwei4037
guwei4037   Ds   Rxr 2014.12.15 14:04

using (DbContext db = new DbContext());//要求DbContext实现System.IDisposable接口才能使用

ILOVEMYFAMILY_jiejie
ILOVEMYFAMILY_jiejie 我没有new类,我都没有改过DbContext里面的东西,都是他自己生成的,这是怎么回事呀!
大约 3 年之前 回复
guwei4037
guwei4037 回复ILOVEMYFAMILY_jiejie: 这个你就要查看一下DbContext里面,有没有new了什么类,造成了死循环。(比如:类A继承类B,类B继承类C,类C又继承了类A)
大约 3 年之前 回复
ILOVEMYFAMILY_jiejie
ILOVEMYFAMILY_jiejie 但是我要是把using这些代码都注销了,他还是报错,报涉及“MVC4Demo.Models.DbContext”和“MVC4Demo.Models.DbContext”的循环基类依赖项,这应该怎么进行修改呀!
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!