0

こんにちは、私は Entity Framework の初心者です。これは私が必要としているもので、「Customer」と「Orders」の 2 つのクラスがあります。

Class CustomerBE<br/>
{
    Public int CustomerID { get;set;}
    ...Other properties<br/>
}

Class OrderBE<br/>
{
    Public int OrderID{ get; set; }
    Public int CustomerID{ get;set;}
    Public CustomerBE Customer {get;set}
}

注文を顧客にマッピングする方法、私はいくつかの他の投稿といくつかの他の例を読みました.彼らがしていることは、顧客BEで注文のicollectionを作成することです.

Class CustomerBE
{
    Public int CustomerID{get;set;}
    Public Virtual ICollection Orders<orderBE>{get;set;}
}

そして、顧客クラスの注文コレクションを使用して、顧客を多くの注文を持つようにマッピングしますが、私にとっては間違っていますが、クラスの消費者は、顧客クラスの注文プロパティを使用してすべてにアクセスできます。顧客からの注文、そして私は彼らにそれをさせてはいけません:

ICollection<OrderBE> customerOrders = customer.Orders //I don't what this



すべての顧客注文を取得したいシナリオはどれですか? 通常、特定の基準 (日付、ステータスなど) によって顧客注文を取得したくないので、そのプロパティを使用する代わりに、私にとっては、注文リポジトリを使用して、特定の基準で顧客の注文にアクセスします。 たとえば、顧客クラスに注文コレクションがなくても、コードファーストアプローチを使用して注文と顧客の間のマッピングを行う方法を知っている人はいますか?


ICollection customerOrders = ordersRepository.GetCustomerOrdersByDate(customer.ID, Today.Date) //This is what i want, not orders = customer.oders


4

1 に答える 1

1

DbContext クラスで Fluent API を使用します。

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<OrderBE>().HasRequired(x => x.Customer);
}
于 2012-07-16T17:29:48.367 に答える