2015-01-07 2 views
0

Здравствуйте, я в настоящее время преобразую xml-сопоставления в сопоставления кодов, и я застреваю в одном месте, так как не получаю надлежащего способа преобразования многоточечных сопоставлений.Преобразование сопоставления из XML в Confirmst (сопоставления кодов)

XML-Отображения являются

</many-to-one> 
    <many-to-one class="MyProject.Activity.Communication, MyProject.Activity" name="Comm"> 
    <column name="CommID" /> 
</many-to-one> 

Теперь у меня есть этот MyProject.Activity.Communication в другом растворе и не имеют каких-либо ссылок в моем отображении проекта. Я хочу указать класс в моих сопоставлениях кода.

ManyToOne(x => x.Comm, map => 
     { 
      map.Column("CommID"); 
     }); 

Как указать класс в этом отображении, как упоминается имя Entity, поэтому мне нужно добавить класс в своем коде отображений.

+0

Я знаю, что это не ответ, просто комментарий. Но просто не имеет смысла, чтобы проект Mapping не ссылался на проект POCO. Это не имеет смысла ... нет преимущества ... –

+0

На самом деле у меня есть один pluggin (Activity), так что на него ссылается одна ссылка ParentCommunication, на которую ссылаются. Итак, когда добавленные pluggins, он это выберет. Все работает в моем проекте с XML-сопоставлениями, но поскольку сопоставления xml принимают строку в имени класса, она будет разрешаться с помощью windsor, и по мере преобразования преобразований по коду я не могу добавить имя класса. Есть ли какое-либо свойство, такое как EntityName, которое у нас есть в ISET? – Moiz

+0

Существует ссылка на проект POCO, но он расширяет его поведение с помощью этого действия – Moiz

ответ

0

Отображения будут использовать Reflection для извлечения имени сборки.

ManyToOne(x => x.Survey, map => 
    { 
     map.Column("SurveyID"); 
     map.Class(Type.GetType("MyProject.Activity.Communication, MyProject.Activity")); 
    });