또한 시작 작업의 이런 종류의 물건을 처리하기 위해 부트 스트 래퍼를 사용합니다. 사실, 나는 그처럼 미친 때문에 부트 스트 래퍼 체인을 사용합니다. Automapper-wise, 우리는 AutoMappingBuddy 클래스를 만들고 속성으로 꾸미는 것이 더 깔끔하다는 것을 발견했습니다. 그런 다음 반사 전화를 통해 매퍼를 연결합니다 (저렴하지는 않지만 한 번만 발사합니다). 이 해결책은 우리가 1200 + 라인 파일의 841 행에 AutoMapper 문제를 찾는 것을 아프게 한 후에 발견되었습니다.
나는 코드를 게시하는 것에 대해 생각했지만 실제로는 그렇게 할 수는 없다. 어쨌든, 여기 간다 :
첫째, AutoMappingBuddies에 대한 간단한 인터페이스 :
public class AutoMappingBuddyAttribute : Attribute
{
public Type MappingBuddy { get; private set; }
public AutoMappingBuddyAttribute(Type mappingBuddyType)
{
if (mappingBuddyType == null) throw new ArgumentNullException("mappingBuddyType");
MappingBuddy = mappingBuddyType;
}
public IAutoMappingBuddy CreateBuddy()
{
ConstructorInfo ci = MappingBuddy.GetConstructor(new Type[0]);
if (ci == null)
{
throw new ArgumentOutOfRangeException("mappingBuddyType", string.Format("{0} does not have a parameterless constructor."));
}
object obj = ci.Invoke(new object[0]);
return obj as IAutoMappingBuddy;
}
}
셋째, AutoMappingEngine :
public interface IAutoMappingBuddy
{
void CreateMaps();
}
둘째, 약간의 속성을 일부 접착제를 제공 할 수 있습니다. 마법의 발생 장소는 다음과 같습니다.
친절한 사람들이 1 시간 내에 한꺼번에 때려 눕 혔을 가능성이 있습니다.
감사합니다. 지미! 이 도구는 탁월한 작업으로 다양한 수준에서 작동합니다. 부트 스트 래퍼의 깃발이 마음에 듭니다. 오늘 밤 내 코드에 이걸 집어 넣을거야. – KevDog
감사! 이것은 제게 많은 도움이되었습니다. 이 도구는 매우 강력합니다. – Rushino