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);
}
したがって、これはすべてうまく機能しますが、私が望むようには機能しません。テーブル「サービス」からリストを取得しますが、テーブル「サービス」からデータを取得したいです。なぜこれが起こっているのかわかりません。私は変数名を複数形にしたので、それらは「サービス」でしたが、それは違いを生むべきではありません(そうすべきですか?)それが解決することを期待して、それらをすべて「サービス」に変更しました。ここまでは本当に理解できた気がします。
データベースには「ビジネス」ルールがあり、それらは単数形の名前である必要があります+「サービス」テーブルではなく「サービス」テーブルを使用している理由を本当に理解したいです。テストする「サービス」テーブルのみを追加しました。