簡體   English   中英

到LINQ 2 Sharepoint Spmetal類的Sharepoint 2010 Listitem

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM