352 messaggi dal 08 febbraio 2009
Salve a tutti.

In un mio progetto ho definito che tutte le entità hanno una proprietà "ID" di tipo identity.
Pertanto, quando devo fare una relazione N a M, nella creazione del modelbuilder devo mettere sempre lo stesso codice.

Pertanto mi sono creato uno snippet di codice come questo:


<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>EntityFramework ModelBuilder relazione N a M</Title>
      <Shortcut>mbnm</Shortcut>
      <Description>Mappa una relazione N a M nel ModelBuilder</Description>
      <Author>Me</Author>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
        <SnippetType>SurroundsWith</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Declarations>
        <Literal>
          <ID>classe</ID>
          <ToolTip>Nome della classe</ToolTip>
          <Default>classe</Default>
        </Literal>
        <Literal>
          <ID>da_proprieta</ID>
          <ToolTip>Proprieta</ToolTip>
          <Default>prop_da</Default>
        </Literal>
        <Literal>
          <ID>a_proprieta</ID>
          <ToolTip>Proprieta inversa</ToolTip>
          <Default>a_proprieta</Default>
        </Literal>
        <Literal>
          <ID>tab_map</ID>
          <ToolTip>Tabella di Mapping</ToolTip>
          <Default>_tableMap</Default>
        </Literal>
      </Declarations>
      <Code Language="csharp"><![CDATA[// Relazione N a M
            modelBuilder.Entity<$classe$>()
                .HasMany(x => x.$da_proprieta$)
                .WithMany(y => y.$a_proprieta$)
                .Map(m =>
                    {
                        m.ToTable("$tab_map$");
                        m.MapLeftKey("ID_$da_proprieta$_FK");
                        m.MapRightKey("ID_$a_proprieta$_FK");
                    }
                );]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>



In questo modo, quando su Visual Studio scrivo "mbnm" (che poi sta per model builder n m), viene scritto tutto il codice, mi chiede le info necessarie e fa tutto il mapping per conto suo.

Ho solo un problema: vorrei che il nome delle colonne del db (MapLeftKey e MapRightKey) venissero tutte in maiuscolo. Solo che le proprietà nel mio modello sono solo con la prima lettera in maiuscolo.

Come posso fare?

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC