我可以有导航属性基于某些字段(不是主键!(唯一键或外键)
本文关键字:唯一 一键 属性 导航 于某些 我可以 字段 | 更新日期: 2023-09-27 18:01:42
假设我们有两个表
public class Table1
{
[Key]
public int ID { get; set; }
public int ID2 { get; set; }
public int ID3 { get; set; }
}
public class Table2
{
[Key]
public int ID { get; set; }
public int ID2 { get; set; }
public int ID3 { get; set; }
}
列ID在表1和表2中是主键,仅此而已!
现在,我想创建一个关系(不是在数据库中!);我只是想对EntityFramework撒谎,这两个表之间有关系。
所以,我想从表2的ID2是外键和引用不是列ID从表1,但列ID2。
这可能吗?
EDIT2
我知道有可能是
public class Table2
{
//...
public int ID2 { get; set; }
[ForeignKey("ID2")]
public Table1 Table1 { get; set; }
//...
}
和
public class Table1
{
//...
public virtual ICollection<Table2> Table2 { get; set; }
//...
}
我成功地为某个表1行扩展了所有表2行。
sql的连接将像表1。ID = table . id2;我需要它像表1一样。ID2 =表2。ID2
我最终为A表创建了2个视图,并将这些视图映射到EF实体。第一个视图以ID为主键,第二个视图以ID2为主键。显然,第二个视图是用来展开所有Table2行的。