Я пытаюсь создать метод, который может обновлять подэлемент объекта независимо от того, является ли он новым или существующим. Я понимаю, что для новых объектов, я добавляю детей, как это:LINQ: Создайте подтаблицу для объекта, если он еще не существует
ChildEntityENT child = new ChildEntityENT();
Entity.ChildEntityENT = child;
И с тех пор я могу получить доступ к нему, как это:
Entity.ChildEntityENT.Value1 = MyValue;
Entity.ChildEntityENT.Value2 = MyValue;
Но у меня есть базовый класс, который я хочу работать с различными типами Entity и ChildEntityENT. Моя первоначальная мысль заключалась в том, чтобы что-то делать в этом направлении, но я не могу заставить ее работать. В основном я собирался позволить разработчику использовать лямбда-выражение для указания от базового Entity к ChildEntityENT, а затем мой метод проверял бы ChildEntityEnt и создавал новую пустую копию, если ее еще не было. Если он существует, ему ничего не нужно делать.
public void CreateIfNull(Expression<Func<Entity, object>> Child)
{
if (Entity.Child == null)
{
ChildENT = new ChildENT();
Entity.ChildENT = ChildENT;
}
}
Если я полностью пропустил мяч на этом, пожалуйста, дайте мне знать. Я все о том, чтобы найти более простые способы сделать что-то. Я хочу, чтобы LINQ не требовал от меня вручную создать новый ChildEntityENT, прежде чем пытаться присвоить ему значения.
EDIT: Я на самом деле пытается сделать то же самое, как этот парень: Adding a child entity to parent entityset