为什么SPMetal不生成发布计划列?

时间:2011-01-01 17:15:03

标签: linq sharepoint code-generation

2011年快乐专家,,,

我有一个sharepoint 2010发布网站,我使用SPMetal来生成类。 问题是某些字段无法生成如下:

PublishingStartDate和PublishingEndDate即使我尝试使用IncludeHiddenColumns和IncludeHiddenContentTypes参数也没有成功。

有任何线索吗?

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

默认情况下,SPMetal仅为SharePoint Foundation 2010(而非Server 2010)附带的字段类型生成代码,这意味着不包含服务器版本中发布功能所使用的某些特殊字段类型。

解决方法1: 扩展SPMetal以涵盖这样的场景 - 是使用ICustomMapping接口在LINQ模型中包含额外的字段。

http://msdn.microsoft.com/en-us/library/ee538669.aspx

解决方法2: 检查此SPMetal documentatin http://msdn.microsoft.com/en-us/library/ee535056.aspx并查看Column Elment部分,其中说明如何使用SPMetal的XML参数文件添加未生成的列。

http://social.technet.microsoft.com/Forums/en-US/sharepoint2010programming/thread/402f59d2-7365-4047-b194-057e84c0cf57/

答案 2 :(得分:0)

我遇到一个问题,SPMetal没有为我生成一个列,答案是我的列表来自内容类型,但该列已单独添加。如果列表来自内容类型,则SPMetal仅为来自该内容类型的列生成C#属性。

有关可能无法生成列的所有原因的参考:

http://msdn.microsoft.com/en-us/library/ee537010.aspx

查看“代表列表列的属性”