Linq to sql 将子实体添加到父entityset

Linq to sql 将子实体添加到父entityset,linq-to-sql,Linq To Sql,想知道是否有一个好的通用方法,可以动态地将子实体添加到父实体的适当实体集中。现在我必须做这样的事情,但这不是很优雅: public int AppendChild<T>(PATIENT patient, T child) where T : EntityBase switch (typeof(T).Name) { case "EYE_EXAM": patient.EYE_EXAMS.Add((EYE_EX

想知道是否有一个好的通用方法,可以动态地将子实体添加到父实体的适当实体集中。现在我必须做这样的事情,但这不是很优雅:

 public int AppendChild<T>(PATIENT patient, T child)
    where T : EntityBase

  switch (typeof(T).Name)
  {               
     case "EYE_EXAM":
          patient.EYE_EXAMS.Add((EYE_EXAM)child);
          break;

     case "LEGS_EXAM":
          patient.LEGS_EXAMS.Add(LEGS_EXAM)child);
          break;

     //etc, a very long list of possible types goes here

  }

有没有更好的办法?谢谢你的回答

嗨,如果你觉得我的回答有帮助,如果你能把它标记为被接受的答案,那就太好了。谢谢如果没有,请告诉我如何改进,我很乐意这样做。
public void CreateChildIfNull<T>()
{
    var child = Activator.CreateInstance(typeof(T));
    Entity.GetType().GetProperty(typeof(T).Name).SetValue(patient, child , null);
}
    public void CreateChildIfNull(LambdaExpression Child)
    {
        Type ChildType = Child.Body.Type;
        var myvar = Activator.CreateInstance(ChildType);
        Entity.GetType().GetProperty(ChildType.Name).SetValue(Entity, myvar, null);
    }