无法获取数据。我可以在visual studio中看到数据。但是,当我访问网站mycomputername:21290/breeze/breeze/getdata
时,我可以通过网络前端显示数据。我得到了这个例外:无法转换类型' MySqlEntities'输入' System.Data.Entity.DbContext'。
我必须有odata控制器吗?
public class BreezeController: ApiController
{
private readonly IRepository _repo;
..
[HttpGet]
public IEnumerable<MySqlType> GetData()
{
return _repo.GetData();
}
}
public class Repository : IRepository
{
private readonly EFContextProvider<MySqlEntities>
_contextProvider = new EFContextProvider<MySqlEntities>();
public IQueryable<MySqlType> GetData()
{
return _contextProvider.Context.TableA;
}
}
Designer.cs中自动生成的代码 MySqlEntities:ObjectContext
答案 0 :(得分:1)
提示位于错误消息中:EFContextProvider需要兼容类型 - 可以强制转换为System.Data.Entity.DbContext;不是你的MySqlEntities类型。
所以这一行:
private readonly EFContextProvider<MySqlEntities>
_contextProvider = new EFContextProvider<MySqlEntities>();
在您的存储库类中应该提供兼容的数据库上下文。
请参阅Breeze教程:http://www.breezejs.com/documentation/efcontextprovider
将来,如果你在代码中详细说明MySqlEntities是什么,那就更清楚了。