Tengo una situación en la que estoy cargando un conjunto de registros muy normalizado de Excel. Tiro de cada fila y creo los objetos de uno en uno. cada fila podría contener una empresa y/o un cliente.C# fusionar dos objetos juntos en el tiempo de ejecución
Mi problema es que varias filas podrían tener los mismos objetos, por lo que puede que ya lo haya creado. Hago una comparación para ver si ya está en la lista. Si es así, necesito fusionar los dos objetos para asegurarme de que no obtuve ninguna información nueva de la segunda fila.
manera:
company - client - address - phone
----------------------------------------
mycompany - - myaddress -
mycompnay - myclient - - myphone
por lo que la primera fila sería crear un objeto de empresa con una dirección de "MiDirección". La segunda fila crearía otro objeto de compañía (que según mis reglas es la misma compañía ya que el nombre es el mismo), que también tiene una referencia de cliente y un número de teléfono.
Por lo tanto, yo sabría que son iguales pero es necesario garantizar que todos los datos se combinen en un solo objeto.
Por el momento estoy creando una clase de utilidad que toma ambos objetos, (uno es el primario y el otro para fusionarse, por lo que uno tiene prioridad si hay un conflicto), pasa por cada variable y asigna los valores si hay alguno. Esto es un poco pesado para la caldera y esperaba que pudiera haber alguna utilidad que pudiera utilizar para hacer el trabajo manual para mí.
El ejemplo se ha simplificado ya que hay algunas otras variables, algunos tipos básicos y otros que son elementos más complejos.
¿Estás seguro de que siempre hay un máximo de 2 objetos que deben fusionarse? ¿Qué debería pasar si la misma columna/propiedad se define dos veces? ¿Suena peligroso solo para ignorar uno? – Achim
Ellos están iterando a través de mis colecciones en el momento en que me fusionaría en cada partido encontrado. En teoría, podría haber múltiples coincidencias a través de la colección, pero cada fusión se haría de a una por vez. Si los usuarios han ingresado datos incorrectos, entonces tengo que perder algo de valor debido a la multiplicidad de campos que de todos modos no veo. – Jon