我正在创建一个包含以下图层的多层应用程序
API
商家
DAL
-
实体
所有图层都可以访问实体,也可以访问列表中位于它们下面的图层。
我还有一个控制台项目。
我的问题是我调用了Business层来从表中获取所有数据,它工作正常并检索两行。但是,我在API层中使用了相同的方法,它没有返回任何行 - 它也没有抛出错误,让我陷入困境。
这些是类/方法:
API:
public class CompaniesController : ApiController
{
CompaniesService _companiesService = new CompaniesService();
public IEnumerable<Company> GetAllCompanies()
{
return _companiesService.GetAllCompanies();
}
}
商家:
public class CompaniesService
{
public List<Company> GetAllCompanies()
{
var companyRepository = new CompanyRepository();
return companyRepository.GetAll();
}
}
DAL:
public class CompanyRepository
{
public List<Company> GetAll()
{
//create DBContext object
using (var context = new dbEntities())
{
var data = context.Company.ToList();
return data;
}
}
}
实体:
[Table("Companies")]
public class Company
{
[Key]
[Column("ID")]
public int ID { get; set; }
public string Name { get; set; }
public string Symbol { get; set; }
public string Exchange { get; set; }
}
我在Visual Studio 2013上使用Entity Framework 6并使用MySQL数据库。每个图层都在一个不同的项目中 - 以防万一这是一个基于参考的问题。
答案 0 :(得分:0)
问题是一个简单的修复,我只是在API项目中没有正确的连接字符串。