我在 ASP MVC 4 中使用带有本地数据库 (localdb\11.0v) 的代码优先方法。我已经创建了我的实体
public class Service
{
public int ServiceID { get; set; }
public string ServiceName { get; set; }
}
我的 DbContext
public class EFDbContext : DbContext
{
public DbSet<Service> Service { get; set; }
}
我的存储库
public interface IServiceRepository
{
IQueryable<Service> Service { get; }
}
界面
public class EFServiceRepository : IServiceRepository
{
private EFDbContext context = new EFDbContext();
public IQueryable<Service> Service
{
get { return context.Service; }
}
}
我正在使用 Ninject 进行绑定
ninjectKernel.Bind<IServiceRepository>().To<EFServiceRepository>();
控制器引用 ninject 内核绑定
public ActionResult List()
{
return View(repo.Service);
}
所以这一切都很好,但它并没有按照我想要的方式工作。它从“服务”表中提取一个列表,但我希望它从“服务”表中提取数据。我不明白为什么会这样。我确实有复数的 var 名称,所以它们是“服务”,但这不应该有所作为(应该吗?)我将它们全部更改为“服务”,希望能解决它。我真的觉得我直到现在才理解这一切。
我们有数据库的“业务”规则,它们需要是单数名称+我真的很想了解它为什么使用“服务”表而不是“服务”表。我只添加了“服务”表进行测试。