所以我正在构建一个现有程序的接口,它是建立在firebird数据库之上的。我已经使用firebird的数据提供程序生成了一些模型,并且我正在试图定义几个具有奇怪结构的表之间的关系,如果不打破该程序,我就不会改变它。MVC实体框架 - 在一个字段中的多个表的外键
这是当前结构归结:
public partial class JOBLINE
{
[Key, Column(Order = 0)]
public int JobNumber {get;set;}
[Key, Column(Order = 1)]
public int LineNumber {get;set;}
public string LineType {get;set;} // can be either 'Item Code' or 'Descriptor Code'
public string LineCode {get;set;}
}
public partial class ITEMMASTER
{
[Key]
public string ItemCode {get;set;}
// The other properties
}
public partial class DESCRIPTORMASTER
{
[Key]
public string DescriptorCode {get;set;}
// The other properties
}
所以讨厌的事情是,在jobline
表中,LineCode
场可以包含两种ItemMaster
或DescriptorMaster
外键,这取决于什么CodeType
场包含的内容。
有没有简单的方法来指定它?使用流利的API或数据注释。我希望能有对ItemMaster
和DescriptorMaster
表列出了存取
谢谢。我将如何处理指定关系? –
没有必要添加关联关系将独特约束看作是插入到组合列中的数据的后卫。正如我在答案中所说的那样,您不能在三个表之间创建关系,就像您需要处理共享列一样。不可能。 – CodeNotFound
当。啊,谢谢你的帮助 –