好的,我在尝试将一些 POCO 类映射到不是我创建的数据库时遇到了一个奇怪的情况。
这是表的设置。
TableA
(
TableA_ID int primary key,
// other fields
)
TableB
(
TableB_ID int primary key,
TableA_ID int unique not null,
// other fields
)
因此,这些表应该如何协同工作是 TableB 具有对 TableA 的引用——并且它是一对一的关系。但是,TableA 没有 TableB 主键的外键。
我显然可以建立以下关系
public class TableA
{
public int TableA_ID { get; set; }
public virtual ICollection<TableB> TableBs { get; set; }
}
public class TableB
{
public int TableB_ID { get; set; }
public int TableA_ID { get; set; }
public virtual TableA TableA { get; set; }
}
有了这个设置,我可以说 - 这可以正常工作:
TableA.TableBs.FirstOrDefault().SomeField;
但是,我真正想要的是这个
public class TableA
{
public int TableA_ID { get; set; }
public virtual TableB TableB { get; set; }
}
public class TableB
{
public int TableB_ID { get; set; }
public int TableA_ID { get; set; }
public virtual TableA TableA { get; set; }
}
有了这个设置,我可以说:
TableA.TableB.SomeField;
有什么方法可以将 TableA 中的 TableA_ID 映射到 TableB 中的 TableA_ID 以使 TableA 类按我想要的方式工作?