2011-05-19 5 views
5

Estoy tratando de generar clases utilizando SPMetal para hacer uso de SPLINQ. Generar el código no es un problema, excepto que las propiedades no se escriben correctamente.SPMetal no genera clases con los tipos personalizados adecuados. Defecto para todo en 'Artículo'

Esta es la fracción del código:

[Microsoft.SharePoint.Linq.ListAttribute(Name="Actual Purchase Orders")] 
public Microsoft.SharePoint.Linq.EntityList<Item> ActualPurchaseOrders { 
    get { 
     return this.GetList<Item>("Actual Purchase Orders"); 
    } 
} 

Como se puede ver el tipo de retorno se define como Microsoft.SharePoint.Linq.EntityList<Item>. Aunque me gustaría que fuera Microsoft.SharePoint.Linq.EntityList<ActualPurchaseOrder>. Este es el mismo caso para todas las listas y todas las propiedades para todas las listas. Las únicas propiedades tipeadas correctamente son las internas de SharePoint, Link, Document, HelpFilesDocument, etc.

He comprobado todas las configuraciones de lista, como tipos de contenido, etc. No tuve suerte.

¿Es solo un error en mi versión 14.0.4763.1000?

Cualquier ayuda apreciada. Saludos.

+0

¿Qué quiere decir con "Como puede ver, el tipo de devolución se define como Microsoft.SharePoint.Linq.EntityList. Aunque me gustaría que fuera Microsoft.SharePoint.Linq.EntityList". No veo la diferencia en los tipos. – ChristiaanV

+0

Gracias ChristiaanV, no me di cuenta de nada entre '<>' se ha tragado. Me escapé ahora. – Sam7

Respuesta

3

Si realPurchaseOrder no es un tipo de contenido personalizado que haya definido, entonces tendrá que anular la herramienta spmetal con un archivo de parámetros xml. (Http://msdn.microsoft.com/en-us/library/ee535056.aspx)

Creo que esta entrada de blog le dará algunos buenos pasos en la dirección correcta: http://socialsp.com/2009/12/11/having-fun-with-the-new-linq-to-sharepoint-on-sharepoint-2010-sp2010/

+0

Gracias, no tenía conocimiento del ContentType personalizado – Chronozoa

-1
public Microsoft.SharePoint.Linq.EntityList<*> ActualPurchaseOrders { 

* -> debe ser el tipo de contenido para la lista de destino, no Item, que es el tipo de contenido predeterminado.

+0

¿Cómo responde esto a la pregunta? Esto es más como una reafirmación de la pregunta. Eso sí, el código que se muestra es generado por SPMetal, y el problema es que el código generado es incorrecto. –

Cuestiones relacionadas