C#entityframework将自引用id保存在同一个表中
这似乎是个愚蠢的问题。很抱歉:) 我正在使用C#Entityframework在sqlserver表中存储一个实体。我有以下示例类:C#entityframework将自引用id保存在同一个表中,c#,entity-framework-6,C#,Entity Framework 6,这似乎是个愚蠢的问题。很抱歉:) 我正在使用C#Entityframework在sqlserver表中存储一个实体。我有以下示例类: public calss Item { public int ItemId {get;set;} public int? ParentId {get;set;} public string Column1 {get;set;} public string Column2 {get;set;} } 预期数据: ItemId Par
public calss Item
{
public int ItemId {get;set;}
public int? ParentId {get;set;}
public string Column1 {get;set;}
public string Column2 {get;set;}
}
预期数据:
ItemId ParentId Column1 Column2
100 null paaaaaa null
101 100 null Childdddd
我将实体保存在内存中,最后调用context.savechanges()。在一次保存两条记录时,如何获取父记录的id
谢谢您可以这样实现:
public class Item
{
public int ItemId {get;set;}
public int? ParentId => Parent?.ItemId;
public string Column1 {get;set;}
public string Column2 {get;set;}
public Item Parent {get;set;}
}
首先,我认为你不应该在保存的时候做,在我看来,最好在创建child的时候做 创建通过逻辑查找父对象的方法。(很难回答,不知道如果父母不止一个,你如何确定哪一个是父母)
void Save()
{
SetParents();
context.savechanges();
}