none
impossibilité de générer les classes LINQ TO SQL à partir de tables dans SQL Serveur 2008 contenant des UDT RRS feed

  • Discussion générale

  • Bonjour

    tout est dans le titre, j'ai une base de données contenant des tables avec des UDT (user data types) générés en .net

    et quand dans le designer j'essaie de generer les classes LINQ TO SQL je recois une erreur comme quoi les UDT ne sont pas compatibles avec le designer.

    J'ai essayé avec visual 2010 mais rien ne change, SQL Metal semble ne pas générer non plus

    Comment faire pour outrepasser ce probleme ? On est dans le monde full Microsoft avec les derniers outils en framework 3.5 et ce n'est pas possible . J'ai trouvé des solutions mais trés complexes avec sérialisation binaire ...

     

    Merci d'avance

    mercredi 30 juin 2010 09:33

Toutes les réponses

  • Bonjour,

    Les UDT sont spécifiques au domaine SQL Server et sont justes des "alias" vers des types SQL Standard. Au niveau de Linq TO Sql (et plus généralement ADO .NET) vous devez mapper vos colonnes avec un type SQL Server standard.

    Par exemple, si vous avez un type Email qui correspond à un varchar(255) au niveau SQL Server, vous devez au niveau de Linq To SQL mapper les propriétés de vos classes avec des varchar(255).

    Cordialement


    Gilles TOURREAU - MVP C# - MCTS Windows Forms - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    mercredi 30 juin 2010 12:26
    Modérateur
  • Bonjour

    En fait mes UDT sont des classes contenant plusieurs propriétés, exemple : Dimension (X,Y,Z qui sont des decimaux)

    comment je fais donc ?

    mercredi 30 juin 2010 12:33
  • Bonjour,

     

    Pouvez-vous nous donner la structure d’une table que vous avez défini et pour laquelle la génération des classes ne marche pas ?

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007

    Astuces pour Visual Studio 2010

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF

    Café des usages

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     

     

    vendredi 2 juillet 2010 10:43
  • oui bien sur

     

    j'ai une table  ObjectComponents qui a un champ UDT ComponentPositionsOffsets de type POSITIONS implémenté dans une dll .net. Cette classe position a plusieurs properties

     

    CREATE

     

    TYPE [POSITIONS]

    EXTERNAL

     

    NAME [MyDLL].[POSITIONS]

    go

    CREATE

     

    TABLE [ObjectComponents]

    (

    [ComponentId] [PrimaryId]

    IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,

    [ComponentPositionsOffsets] [POSITIONS]

    NULL

    )

    mardi 6 juillet 2010 10:16