這是我第一次AutoMapper項目,可能會明顯一些,但教程和例子不是我一下。我想了解如何在某種程度上註冊(我想我需要配置文件)我的地圖以供使用。有很多MVC的例子說要使用全局的asax,這是有道理的,但是在圖書館項目中什麼是等價的?放置位置AutoMapper地圖登記參考DLL
在我的沙箱我有一個winform應用程序和核心庫。 winform應用程序調用庫提供的方法,它是使用automapper的這些庫方法之一。
所以對這裏的一些背景是我的地圖: (要說清楚的映射是相同的核心庫項目)
public class Raw_Full_Map
{
public Raw_Full_Map()
{
Mapper.CreateMap<IEnumerable<RawData>, FullData>()
.ForMember(d => d.Acres, m => m.ResolveUsing(new RawLeadDataNameResolver("Acres")));
//this is clearly just a snip to show it's a basic map
}
}
這是被稱爲核心庫的方法:(注意這是一個靜態..這意味着我不會有一個構造函數......如果這是我的問題,那麼我明白,AutoMapper不能被靜態輔助類使用...這是沒有道理的....所以可能我只是沒有做正確
public static class RawDataProcessing
{
public static FullData HTMLDataScrape(string htmlScrape)
{
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(htmlScrape);
var list = Recurse(doc.DocumentNode);
//HTML agility stuff that turns my html doc into a List<RawData> object
return Mapper.Map<FullData>(list);
}
我的測試設備調用我像這樣:
var _data = RawDataProcessing.HTMLDataScrape(rawHTML);
這當然錯誤,因爲地圖是不是「註冊」。
如果我這樣做的測試工具:
var x = new RawData_FullData();
var _data = RawDataProcessing.HTMLDataScrape(rawHTML);
然後一切正常,我的地圖獲取的註冊儘管我認爲一個真正的僞造方式......但它確實工作。
所以,問題是我怎麼註冊我的核心庫項目映射......所以,任何方法可以用它...有沒有真正在DLL中的等價Global.asax的是嗎?
謝謝你幫我接的缺失部分。
AHHHH。我不知道你可以做一個靜態構造函數...只是使用關鍵字靜態...似乎很直接。謝謝!! – GPGVM