我有一个看起来像这样的数据库:
其中TableA是主体,TableB是从属。
我正在尝试使用Entity Framework在数据库中创建此关系。从TableB到TableA的连接有效,但相反(从TableA到TableB)无效。
public partial class TableA
{
[Key]
public long id { get; set; }
public virtual TableB tableB { get; set; }
}
public partial class TableB
{
[Key]
public long id { get; set; }
public long TableA_ID { get; set; }
public string value { get; set; }
[ForeignKey("TableA_ID")]
public virtual TableA tableA { get; set; }
}
每次出现错误:
由于从属角色属性不是关键属性,因此从属角色多样性的上限必须为'*'
或错误:
必须使用流利的API或数据注释显式配置此关联的主要端
我尝试在[Required]
上方的TableB和其他位置添加public virtual TableA tableA
,但似乎无济于事。
能否请您帮我建立这种关系(如果可能,仅使用数据注释)?
答案 0 :(得分:-2)
DataSet ds = new DataSet();
ds.Tables.Add(TableA);
ds.Relations.Add("TableB", TableA.Columns["id"], TableB.Columns["TableA_ID"]);
ds.Relations["TableB"].Nested = true;
如果我理解正确。你可以试试看。