Asp.net mvc MVC4 Web Api未返回实体框架IEnumerable()
我有一个简单的表,如下所示,用实体框架映射。我试图只返回IEnumerable(MyTableObject)的一个非常基本的调用,但是MVCAPI刚刚爆炸,错误代码为500。当我尝试返回一个IEnumerable(字符串)并只选择一个列时,它也会这样做 我尝试用以下代码返回这个模型Asp.net mvc MVC4 Web Api未返回实体框架IEnumerable(),asp.net-mvc,vb.net,entity-framework,asp.net-web-api,Asp.net Mvc,Vb.net,Entity Framework,Asp.net Web Api,我有一个简单的表,如下所示,用实体框架映射。我试图只返回IEnumerable(MyTableObject)的一个非常基本的调用,但是MVCAPI刚刚爆炸,错误代码为500。当我尝试返回一个IEnumerable(字符串)并只选择一个列时,它也会这样做 我尝试用以下代码返回这个模型 ' GET api/chatlog Public Function GetValues() As IEnumerable(Of ChatLog) Using mcEntity As New McEntiti
' GET api/chatlog
Public Function GetValues() As IEnumerable(Of ChatLog)
Using mcEntity As New McEntities
Return mcEntity.ChatLogs.ToList()
End Using
End Function
对于我来说,返回数据很不幸。我什么也得不到
MVCWebAPI是否不支持将对象从EF传递到管道中,或者我必须手动将其序列化为XML
Fiddler抛出“HTTP/1.1500内部服务器错误”两件事
public CustomersContext _db = new CustomersContext();
public IEnumerable<Customer> Get ()
{
return _db.Customers;
}
protected override Dispose(bool disposing)
{
base.Dispose(disposing);
if(disposing)
{
_db.Dispose();
}
}
public CustomersContext\u db=new CustomersContext();
公共IEnumerable Get()
{
返回客户;
}
受保护的覆盖处理(布尔处理)
{
基地。处置(处置);
如果(处置)
{
_db.Dispose();
}
}
你试过返回一个数组吗?我刚注意到你正在调用ToList,但仍然返回IEnumerable,尝试更改我在几个测试中使用的返回类型,并同时使用ToArray()和AsEnumerable(),也许最好将其添加到上面。它抛出一个不同的异常。“ObjectContext实例已被释放,无法再用于需要连接的操作。”因此,删除using语句无效。另外,更改返回类型ToList(ChatLog)也会抛出相同的错误。Fiddler也没有表现出太多:-(objectcontext错误听起来像是一个范围问题。当我在castle Windsor过着错误的生活方式时,我已经看到了这一点。也许你应该进一步探讨这一点。可能值得再问一个关于objectcontext问题的问题。当数据在“Using”中时,我检查了代码语句。在控制器返回数据之前,连接似乎已关闭。我在另一台机器上从头开始重新构建了同一个项目,并且正常工作,这使我相信这是配置问题。