如何将子资源与父资源关联使用 Entity Framework Core
how to associate a child resource with a parent resource use Entity Framework Core
我有问题需要你的帮助。如果你能帮助我,非常感谢
public class A
{
public Guid AId { get; set; }
public string Name { get; set; }
public B B { get; set; }
}
public class B
{
public Guid BId { get; set; }
public string Name { get; set; }
public Guid AId { get; set; }
public A A{ get; set; }
}
如你所见,A是B的父资源。
现在先上传资源B,再上传资源A。
// Example
// first
BId Name AId
xxx BBB null
// secondly
AId Name
yyy AAA
我上传资源B时,没有创建资源A。之后如何使用Entity Framework Core 并关联它们。
When I uploaded resource B, resource A was not created. After that,
how can I to use Entity Framework Core and to associate them。
如果想先添加B数据而不分配字段AId,请将classB中的AId设置为允许空.
public Guid? AId { get; set; }
首先,将B
添加到数据库如下:
B datab = new B()
{
BId = new Guid("0aa45a56-718e-44db-b5e0-894214772307"),
Name = "bName1"
};
_context.B.Add(datab);
_context.SaveChanges();
此后tableB数据如下:
当你创建一个A对象时,你已经能够获取到对应B对象的数据,那么你只需要将B对象的datab赋值给A对象的B字段即可添加他们的关系.
然后将A添加到数据库如下:
A dataa = new A()
{
AId = new Guid("31d23cb1-1a30-472f-8637-671f242c7438"),
Name = "aName1"
};
dataa.B = datab; // this is the key to add AId value to B table
_context.A.Add(dataa);
_context.SaveChanges();
执行这段代码后,这里是tableA的数据:
然后刷新tableB,这是它的最新数据:
我有问题需要你的帮助。如果你能帮助我,非常感谢
public class A
{
public Guid AId { get; set; }
public string Name { get; set; }
public B B { get; set; }
}
public class B
{
public Guid BId { get; set; }
public string Name { get; set; }
public Guid AId { get; set; }
public A A{ get; set; }
}
如你所见,A是B的父资源。
现在先上传资源B,再上传资源A。
// Example
// first
BId Name AId
xxx BBB null
// secondly
AId Name
yyy AAA
我上传资源B时,没有创建资源A。之后如何使用Entity Framework Core 并关联它们。
When I uploaded resource B, resource A was not created. After that, how can I to use Entity Framework Core and to associate them。
如果想先添加B数据而不分配字段AId,请将classB中的AId设置为允许空.
public Guid? AId { get; set; }
首先,将B
添加到数据库如下:
B datab = new B()
{
BId = new Guid("0aa45a56-718e-44db-b5e0-894214772307"),
Name = "bName1"
};
_context.B.Add(datab);
_context.SaveChanges();
此后tableB数据如下:
当你创建一个A对象时,你已经能够获取到对应B对象的数据,那么你只需要将B对象的datab赋值给A对象的B字段即可添加他们的关系.
然后将A添加到数据库如下:
A dataa = new A()
{
AId = new Guid("31d23cb1-1a30-472f-8637-671f242c7438"),
Name = "aName1"
};
dataa.B = datab; // this is the key to add AId value to B table
_context.A.Add(dataa);
_context.SaveChanges();
执行这段代码后,这里是tableA的数据:
然后刷新tableB,这是它的最新数据: