【发布时间】:2020-01-14 23:05:02
【问题描述】:
我需要先使用 Fluent API 使用 Fntity Framework 代码映射一些实体。
我有一个Driver 和一个RacingVehicle。我需要一个Driver 只在一个RacingVehicle 中,一个RacingVehicle 只在一个Driver 中。
Booth 类指的是连接它们的Contract(关联类?)。
Contract 显示了一些额外信息:Driver 和他的RacingVehicle 之间的合同将持续多少年。
我当前的代码:
public class Driver
{
public Guid Id { get; protected set; }
public string Name { get; protected set; }
// others properties
public virtual Contract Contract { get; protected set; }
}
public class RacingVehicle
{
public Guid Id { get; protected set; }
public int Number { get; protected set; }
public virtual Team Team { get; protected set; }
// others properties
public virtual Contract Contract { get; protected set; }
}
public class Contract
{
public virtual Driver Driver { get; protected set; }
public virtual RacingVehicle RacingVehicle { get; protected set; }
public int SeasonsRemaining { get; protected set; }
}
我将从Driver 访问RacingVehicle,仅通过Contract(反之亦然)。像这样的:
var teamName = ayrtonSenna.Contract.RacingVehicle.Team.Name;
var driverName = mcLaren.Contract.Driver.Name;
我将有一个 ContractManager 服务类来管理这些合同。
我相信 Contract 类必须映射为 PK,来自 Driver 和 RacingVehicle 的 FK,对吧?
那么,我该如何映射呢?
【问题讨论】:
标签: c# entity-framework orm ef-code-first ef-fluent-api