У меня модель данных выглядит следующим образом.
class KnowledgeDocument
{
public int? Id {get; set;}
public virtual ICollection<KDValueCreation> KDValueCreations { get; set; }
}
class KDValueCreation
{
public int? Id{get; set;}
public int? KDReferenceId { get; set; }
public virtual KnowledgeDocument KDReference { get; set; }
public int KnowledgeDocumentId { get; set; }
public virtual KnowledgeDocument KnowledgeDocument { get; set; }
public decimal Amount {get; set;}
}
Теперь, когда я пытаюсь создать новый KnowledgeDocument
вместе с KDValueCreations
следующим образом.
KnowledgeDocument kd = new KnowledgeDocument();
kd.KDValueCreations.Add(new KDValueCreation{ Amount = "500000"});
Когда я сохраняю kd, kd сохраняется без каких-либо проблем, и в KDValueCreation создается 1 запись, и KDReferenceId и KnowledgeDocumentId заполняются одним и тем же kdId.Но я хочу заполнить только KnowledgeDocumentId и остановить заполнение KDReferenceId и установить для него значение null.
Поскольку оба поля указывают на одну и ту же ссылку, платформа Entity заполняет Id в обоих полях.
Как мне достичь этого, сохранив документ KnowledgeDocument со своими детьми?
Пожалуйста, предложите.Заранее спасибо.