[英]Sharepoint 2010 listitem to linq 2 sharepoint spmetal class
如何將ListItem包裝/轉換/生成到生成的spmetal類? (Linq 2共享點)
謝謝!
更新:
我正在尋找這些是因為事件接收器利用了splistitems,並且我想在訪問數據時使用強類型版本並且沒有magiv字符串
您是否有一個ListItem而不是使用LINQ to SharePoint來獲取spmetal類的原因?
據我所知,沒有內置的方法,但是您可以使用自動映射器之類的工具來完成此任務。
Mapper.CreateMap<SPListItem, HandbookCodesHandbookCode>()
.ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.ID))
.ForMember(dest => dest.CodeDescription, opt => opt.MapFrom(src => src["CodeDescription"]));
SPWeb web = SPContext.Current.Site.RootWeb;
SPList list = web.Lists["HandbookCodes"];
SPListItem item = list.GetItemById(1);
HandbookCodesHandbookCode hc = Mapper.Map<SPListItem, HandbookCodesHandbookCode>(item);
做到這一點的另一種方法是使用LINQ到SharePoint並創建一個查詢來獲得類似
HandbookTeamSiteDataContext ctx = new HandbookTeamSiteDataContext(SPContext.Current.Site.RootWeb.Url);
var hb = from h in ctx.HandbookCodes
where h.Id == 1
select h;
除非為您提供SPListItem(事件接收器和工作流),否則我將嘗試使用此方法而不是獲取SPListItem(除非您的復雜查詢當時無法很好地執行)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.