0

私は、エンティティ フレームワークを使用して同僚によって作成された MVC アプリケーションを割り当てられました。私たちの会社は NHibernate を使用しているため、誰もベース エンティティ フレームワークについてあまり理解していないため、困惑しています (グーグルで検索しても、ここや他のサイトを検索しても、これまでのところ有用な情報は得られませんでした)。

アプリケーションは、より多くの情報を表示するために更新されています。このためにはログが必要なので、新しいモデルを作成し、エンティティを介してマッピングしようとします。ただし、プログラムの実行時にモデルがデータベースにマップされていないため、手動でモデルを作成しても役に立ちません。プログラムを実行すると、コントローラーがデータベース内のテーブルにアクセスしようとするページをロードするときにエラーが発生します。

エラー:

{"Invalid object name 'dbo.CustomerHistories'."} 

マップしようとしているクラス:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;

namespace CustomerManagement.Models
{
    //save history of orders for each customer
    public class CustomerHistory
    {
        [Key]
        [ScaffoldColumn(false)]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int Id { get; set; }

        [Display(Name = "Kunde")]
        public int customerId { get; set; }

        [Display(Name = "Voucher")]
        public string voucherName{ get; set; }

        [Display(Name = "Antal brugt")]
        public int vouchersUsed { get; set; }

        [Display(Name = "Event")]
        public string theEvent { get; set; }

        [Display(Name = "Bestillingstidspunkt")]
        public DateTime orderedAt { get; set; }
    }
}

エンティティ管理クラス:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;

namespace CustomerManagement.Models
{
    public class CustomerManagementEntities : DbContext
    {
        *snip*
        public DbSet<CustomerHistory> CustomerHistories { get; set; }
    }
}

実際のエラーが発生するコード:

List<CustomerHistory> histories = new List<CustomerHistory>();
        histories = db.CustomerHistories.OrderBy(x=>x.customerId).ThenBy(x => x.orderedAt).ToList();

何が起こっているのかわからないので、誰かが私を助けることができれば、それは非常にありがたいです.

4

0 に答える 0