【发布时间】:2011-10-20 08:30:00
【问题描述】:
我有以下型号:
public class Device
{
[Key]
public int ID { get; set; }
public int? SimCardID{ get; set; }
[ForeignKey("SimCardID")]
public virtual SimCard { get; set; }
[DataType(DataType.Text)]
[Required]
[MaxLength(16)]
public string Imei { get; set; }
[DataType(DataType.Text)]
[Required]
[MaxLength(20)]
public string Name { get; set; }
}
public class SimCard
{
[Key]
public int ID { get; set; }
[DataType(DataType.PhoneNumber)]
[Required]
[MaxLength(20)]
public string PhoneNumber { get; set; }
[DataType(DataType.Text)]
[Required]
[MaxLength(40)]
public string SerialNumber { get; set; }
[DataType(DataType.Text)]
[Required]
[MaxLength(20)]
public string Provider { get; set; }
}
一个设备 (1) 最多有一个 (c) sim 卡。因此关系为 1:c。如何在 EF Code First 中实现它?
【问题讨论】:
-
如果您不使用链接表,您的设计是正确的。有什么问题?
-
EF生成的数据库对于这些模型是一对多(1:mc)的关系
-
一张SIM卡可以在多个设备上使用。
-
不,SIM 卡在一个设备中或没有设备(有库存但未使用)
-
设备也可以没有安装 SimCard 吗?
标签: database-design entity-framework-4.1 ef-code-first