这是我第一次在 Stack 中提问,而且我已经搜索了很多,但运气不佳。
我正在使用 EF 4,我想首先使用代码创建多对多关系。我遇到的问题是应用程序已本地化,目前有两种语言(西班牙语和英语)因此我创建了两个实体:从业者和专业:
[Table("Practitioners")]
public class PractitionerModel
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public virtual int Id { get; set;}
public ICollection<SpecialityModel> Specialities { get; set; }
}
[Table("Specialities")]
public class SpecialityModel
{
public virtual int Id { get; set;}
public string Name { get; set; }
public int Code { get; set; }
}
我希望从业者拥有许多专业,并希望通过代码而不是 Id 进行“映射”,因为有两个具有相同代码的专业,例如:Ginecology 和 Ginecologia”它们是相同的专业,并且具有不同 ID 的代码 12。
这个想法是数据库中的数据应该如下所示:
----------------- ------------------------------------------
| Practitioner | | Specialities |
---------------- ------------------------------ ------------------------------------------
| Id = 10 |-- | PractitionerToSpecialities | -- | Id = 1, Code = 12, Name = "Ginecology" |
---------------- | ------------------------------ | ------------------------------------------
--| PracId = 10, SpecCode = 12 |----- | Id = 2, Code = 12, Name = "Ginecologia"|
----------------------------- ---------------------------------------- --
有没有办法通过 CodeFirst 实现这一目标?