EF Code First の Fluent Configuration を使用してマップしたいエンティティがあります。
class Transaction
{
int LineItemId { get; set; }
string TranNumber { get; set; }
string TaxLotId { get; set; }
string TradeLeg { get; set; }
public virtual Transaction NewDealTransaction { get; set; }
public virtual ICollection<GvaTransactions> RelatedTransactions { get; set; }
}
編集 このデータを保持する単一のテーブルがあります(簡潔にするために、関連しない列は省略されています)。
CREATE TABLE [dbo].[Transactions] (
[LineItemId] INT IDENTITY (1, 1) NOT NULL,
[TranNumber] VARCHAR (20) NOT NULL,
[TaxLotId] VARCHAR (20) NULL,
[TradeLeg] VARCHAR (20) NULL,
CONSTRAINT [PK_GVATransactions] PRIMARY KEY CLUSTERED ([LineItemID] ASC)
)
LineItemId が主キーです。
このRelatedTransactions
関係は、同じ TaxLotId を持つすべてのトランザクションが関連しているという事実を表す必要があります。
最後NewDealTransaction
に同じ TaxLotId と `TradeLeg == "NewDeal" のトランザクションです。
これらの関係を表す流暢なマッピングを作成するにはどうすればよいですか?
注:ここでの私の好みは、バックエンドを変更しないことです。これは、既に多くのデータを持っている既存のテーブル デザインを継承したためです。