我有两个对象父和子(同一个实体),我需要从父级更新具有所有属性(当然没有键)的子对象,有很多属性。是否有更好的方法来执行它,不更新从父到子的每个字段?我尝试过自动播放器,但没有成功。 谢谢!
答案 0 :(得分:0)
我没有找到使用EF的方法,自动生成器产生了一些问题。解决方案:我使用了反射并获得了每种类型我想要复制的属性:
Dim listTypes As New List(Of Type)
listTypes.Add(GetType(String))
listTypes.Add(GetType(Date))
listTypes.Add(GetType(Integer))
listTypes.Add(GetType(Boolean))
listTypes.Add(GetType(Nullable(Of Integer)))
listTypes.Add(GetType(Nullable(Of Boolean)))
listTypes.Add(GetType(Nullable(Of Date)))
Dim parentProperties = srParent.GetType().GetProperties.Where(Function(p) listTypes.Contains(p.PropertyType))
For Each pp In parentProperties
If pp.Name.ToUpper() <> "SR_ID" AndAlso pp.Name.ToUpper() <> "SR_FK_SERVICE_REQUEST_PARENT" AndAlso pp.Name.ToUpper() <> "SR_BL_VISIBLE" Then
Dim value = pp.GetValue(srParent)
srChild.GetType().GetProperty(pp.Name).SetValue(srChild, value)
End If
Next
`