我有一个与Entity Framework映射的简单表格如下。我试图返回IEnumerable(Of MyTableObject)的一个非常基本的调用,但是MVC API只是用错误代码500进行轰炸。当我尝试返回一个IEnumerable(Of String)并且只选择一个列时它会做同样的事情。
我尝试使用以下代码返回此模型。
' GET api/chatlog
Public Function GetValues() As IEnumerable(Of ChatLog)
Using mcEntity As New McEntities
Return mcEntity.ChatLogs.ToList()
End Using
End Function
对我来说遗憾的是返回数据。我什么都没得到?
MVC Web API不支持将EF中的对象传递给管道,还是我手动将其序列化为XML?
Fiddler抛出“HTTP / 1.1 500内部服务器错误”
答案 0 :(得分:0)
一切事,
您可以通过执行
在错误消息中启用异常详细信息Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
并共享异常消息和堆栈跟踪?
关于using语句,通常建议将EFContext放在控制器中,而不是放在操作中。 ApiController是一个IDisposable。您应该重写控制器的Dispose方法并在那里配置您的DBContext。 例如,
public CustomersContext _db = new CustomersContext();
public IEnumerable<Customer> Get ()
{
return _db.Customers;
}
protected override Dispose(bool disposing)
{
base.Dispose(disposing);
if(disposing)
{
_db.Dispose();
}
}