速记属性初始化器Int.Parse

时间:2015-07-21 15:21:27

标签: c# type-conversion shorthand

代码:

var page = (from p in dbContext.Page
            where p.Id== Id
            select new PageObject
            {
                PageID = p.PageID,
                CategoryId = p.attr.Any(a => a.Attribute == "CategoryId") ? 
                p.attr.Where(a => a.Attribute == "CategoryId").FirstOrDefault().Value : 0 // How do I convert the Value to Int?
            }).FirstOrDefault();

问题:

我们在现有的应用程序中使用EF,在上面的代码中它正在初始化PageObject(为了简单起见,我删除了很多属性).IntryId是一个整数,我试图弄清楚如何将Value转换为int,我无法在LINQ查询中使用int.Parse,因为它会抛出错误:

  

LINQ to Entities无法识别方法'Int32   Parse(System.String)'方法,这个方法无法翻译   进入商店表达。

注意:我无法避免使用短手属性初始化,这需要在LINQ查询本身中完成。

0 个答案:

没有答案