..こんにちは、私は次のようなエンティティからいくつかの列の値を連結しようとしています:
var valor = "";
PropertyDescriptorCollection objProperties = TypeDescriptor.GetProperties(obj);
foreach (PropertyDescriptor objProperty in objProperties)
{
if (objProperty.Name != "AuditoriaUC" && objProperty.Name != "AuditoriaFC"
&& objProperty.Name != "AuditoriaIPC" && objProperty.Name != "AuditoriaUM"
&& objProperty.Name != "AuditoriaFM" && objProperty.Name != "AuditoriaIPM"
&& objProperty.Name != "AuditoriaEliminado")
{
valor = valor + " " + objProperty.Name + ": " + Convert.ToString(objProperty.GetValue(obj));
}
}
return valor;
ただし、列の参照も表示されます。つまり、これも最後に出力されます。
"ArchivosAdjuntos:System.Data.Objects.DataClasses.EntityCollection`1[XXX.MyProject.Model.Entities.ArchivosAdjuntos]
CorrelativoActualPorPeriodo: XXX.MyProject.Model.Entities.CorrelativoActualPorPeriodo
CorrelativoActualPorPeriodoReference: System.Data.Objects.DataClasses.EntityReference`1[XXX.MyProject.Model.Entities.CorrelativoActualPorPeriodo]
EntityState: Modified
EntityKey: System.Data.EntityKey"
列の値のみを返したいのですが、これは、最後の列の値をハードコードされた文字列と比較してforeachを分割するだけで実現できます。しかし、もっと良い方法があるかどうか本当に知りたいです。