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);
}