definizione primary key nell'istruzione mysql create table
<p>qual è la differenza tra questo codice:</p><pre><code>create table samples ( sampleid int(11) not null auto\_increment, sampledate date not null, location varchar(25) not null, primary key (sampleid) ) engine=innodb; </code></pre><p>e questo:</p><pre><code>create table samples ( sampleid int(11) not null auto\_increment primary key, sampledate date not null, location varchar(25) not null, ) engine=innodb; </code></pre><p>codice?</p><p>quindi un'istruzione primary key separata o come parte di una definizione di colonna. stessa domanda per unique index e unique parola chiave nella definizione di colonna.</p>
<p>la seconda sintassi è semplicemente un collegamento che consente di specificare la colonna e aggiungere un indice su di essa in una singola clausola.</p><p>questo funziona bene nei casi in cui si desidera semplicemente creare una colonna e aggiungere un indice su di essa.</p><p>dovrai utilizzare la prima sintassi se vuoi fare qualcosa di più complicato, come aggiungere un indice basato su più colonne anziché una singola colonna, o se stai aggiungendo o modificando un indice su una colonna esistente; cioè, non stai creando la colonna e l'indice su di essa contemporaneamente.</p>
>  esiste un modo per caricare la proprietà della chiave di navigazione come entity-framework (lazy-loading)? 
> 
> 

 No, Dapper è una libreria SQL diretta, ed è per questo che è così incredibilmente veloce. Non vi è alcun sovraccarico che circonda il carico automatizzato. È tuttavia possibile caricare più di un'entità alla volta. 


>  qual è la differenza tra serializzazione POCO e serializzazione dinamica? che è migliore? e come posso usare questa serializzazione? 
> 
> 

 La serializzazione POCO è più efficiente perché il tipo è ben noto in fase di compilazione, la serializzazione dinamica è un po 'più costosa perché deve essere valutata in fase di esecuzione. Oltre a questo non c'è davvero una differenza. 

 Tuttavia, consiglierei Dapper al di sopra di ***tutte le altre*** librerie ovunque. È semplice, veloce ed estremamente flessibile. E credetemi, ho usato molti framework e librerie per l'accesso ai dati. 

 [Documentazione Dapper](https://github.com/StackExchange/dapper-dot-net) 

 Dai un'occhiata a **Multi Mapping** e **Multiple Results** Aggiungi `Microsoft.EntityFrameworkCore` v2.1.1 dai pacchetti Nuget. Quindi, utilizzare la classe `SqlServerDbFunctionsExtensions` per ottenere il confronto della data. Fai quanto segue nella mia applicazione. Ho trovato differenze in minuti tra Date1 e Date2: 


```
DbFunctions dfunc = null;
IQueryable<TableName> lQueryableTableName = lObjInitDbContext.gObjServerAuditHistoryDbContext
   .ServerAuditHistorys
   .Where(x => SqlServerDbFunctionsExtensions
       .DateDiffMinute(dfunc, Convert.ToDateTime(Date1), Convert.ToDateTime(Date2)) < 1);

```
  Spero che questo ti possa aiutare !!! per ogni j da 1 a r pj - 1 = pj (1 - 1/pj ) phi(n) = tt\_j:1->r [ pj^(kj-1)*pj*(1 - 1/pj) ] = = tt\_j:1->r pj^k^j (1 - 1/pj) = = tt\_j:1->r (pj^k^j) * tt\_j:1->r (1 - 1/pj) perché il prodotto é associativo e, riconosciuta nel primo fattore la scomposizione in fattori primi di n, phi(n) = n tt\_j:1->r (1 - 1/pj). perdonami il formalismo primitivo, ma non imparerò mai a scrivere in latex. l'errore è una delle forme principali di apprendimento, cioè attraverso l'esperienza. la sua importanza sta nel fatto che attraverso l'errore si determina, in modo diretto, l'esclusione di validità di un determinato fenomeno. mentre le altre forme di esperienza devono poggiarsi sul solo ed esclusivo lavoro ipotetico della ragione, con l'errore la ragione è supportata da un'esperienza che rende esplicita la validità o meno del dato acquisito. non l'ho fatta ma ne so abbastanza.. faccio la parrucchiera.. si studia la struttura del capello, le basi del comportamento da tenere in negozio, insomma hai un vero corso di formazione e relazione col pubblico, poi avrai tutte le varie colorimetrie da imparare.. ti insegneranno i numeri sui tubetti a capire cosa significano la base prima della virgola e i riflessi quelli dopo es. 5.3 imparerai i complementari a valutare e creare una scheda tecnica per ogni cliente in base al tipo di capello e risultato che si vuole ottenere, cosa non meno importante gli shampoo per le varie tipologie di cute e il movimento per il lavaggio! che é la cosa piú importante! la cliente deve rilassarsi! le clienti lo notano! a me fanno i complimenti alla mia titolare non la vogliono più perché non trasmette nulla..poi anno dopo anno si introdurranno taglio, permanenti, piegone, phon ecc nulla è complicato se hai passione! dopo quando avrai imparato sarai tu a creare il tuo stile e la tua personalizzazione nelle cose.. che le renderanno uniche! ricorda tutti sono capaci di prendere un tubetto di colore e metterlo in testa! noi facciamo la differenza.. noi lo creiamo.. noi mischiamo anche 5 colori per ottenere un effetto che peró la cliente non riesce a ricreare.. per questo tornerà da noi! intendi "generatori di spazi vettoriali"? se hai capito cos'è una base hai capito anche cosa sono dei generatori. una base di uno spazio vettoriale è un insieme di generatori linearmente indipendenti, ossia tali che nessuno di essi può essere visto come combinazione lineare di altri. quindi, dei generatori sono semplicemente una base, solo che possono anche non essere linearmente indipendenti.

la definzione formale è questa:
dei generatori sono dei vettori tali che ogni vettore dello spazio considerato lo puoi scrivere come combinazione lineare dei generatori. 
l'esempio più ovvio è l'insieme composto dai tre vettori di r^3 (1,0,0), (0,1,0) (0,0,1).
ogni vettore di r^3 ha la forma (a,b,c), con a,b e c appartenenti a r. quindi puoi scrivere (a,b,c)=a*(1,0,0)+b*(0,1,0)+c*(0,0,1)
quindi (1,0,0), (0,1,0) (0,0,1) sono dei generatori. 
inoltre sono anche linearmente indipendenti (ossia non esistono x e y tali che (1,0,0)=x*(0,1,0)+y*(0,0,1), per esempio), quindi oltre ad essere generatori, sono anche una base. per capire in fretta se n vettori con n elementi sono linermente indipendenti, calcola il determinante della matrice che ha per colonne tali vettori: se ti viene 0, allora sono dipendenti, altrimenti sono indipendenti.

c'è un teorema, la cui dimostrazione per fortuna non ricordo, che dice che ogni base di uno spazio vettoriale ha un numero fisso di elementi - questo numero è la dimensione dello spazio vettoriale.

magari vai a dare un occhiata a ste pagine

http://it.wikipedia.org/wiki/spazio\_vettoriale
http://it.wikipedia.org/wiki/base\_(algebra\_lineare)
http://it.wikipedia.org/wiki/span È necessario modificare in `"Data Source=./data/database/sqlite.db"` 

 `"DefaultConnection": "DataSource=./data/database/sqlite.db"` <p>il driver del database aggiungerà nuovamente il risultato alla tabella dopo il salvataggio.</p><p>quindi, qualcosa come il prossimo dovrebbe funzionare:</p><pre><code>$table = $this-&gt;gettable(); if ($table-&gt;save($data)  true) { return $table-&gt;id; } else { return false; } </code></pre> 1)per inizializzare un array ci sono due modi, il primo in maniera costante mettendo i valori tra due graffe separati da una virgola

int vett[3]={1,2,3};

il secondo è quello di accedere alle singole locazioni e inizializzarle come fosse una qualsiasi variabile fondamentale immettendo i dati da tastiera(o con una qualche funzione o artificio per dare i giusti valori alle celle)

int vett[3];
for(int a=0;a<3;a++)
cin>>vett[a];

puoi renderlo anche automatico come hai fatto te, inserendo la lunghezza da tastiera(se a lunghezza variabile)
ricorda che se un vettore ha dimensione n ha n-1 celle(ne ha n però è compreso lo zero quindi l'ultima cella stà in posizione n-1, se guardi il ciclo for qui sopra ho inserito la condizione finchè a<3 non a<=3)

2)per stampare i valori basta che accedi alle celle del vettore come hai fatto per l'inizializzazione, ricorda che un vettore non sono altro che una serie di variabili a cui accedi con un indice int vett[3] è equivalente ad avere 3 variabili int, e come tale ti comporti, se le vuoi mostrare a video devi usare la funzione cout per tutte le celle(puoi anche usare solo il nome del vettore e il cout ti dà tutto il contenuto del vettore ma ha bisogno di condizioni più restrittive)

for(int a=0;a<3;a++)
cout<<vett[a]<<' ';
cout<<endl;

cout<<vett<<endl;//qui non sono compresi spazi tra i valori(molto utile per le stringhe)

per farci delle operazioni vale la stessa cosa che ho detto prima è come lavorare con normalissime variabili solo che ci accedi con un indice quindi ti devicomportare di conseguenza


eccoil programma:

#include <iostream>
using namespace std;
int main(){
int n;
int media(0);
do{
cout<<"inserisci lunghezza vettore: ";
cin>>n;
if(n<0){
cout<<"dimensione errata"<<endl;
system("pause");
system("cls");
}
}while(n<0);
int vett[n];//alcuni ide non lo accettano in tal caso: int* vett=new int[n];
for(int a=0;a<n;a++){
cout<<"inserisci valore nella "<<a+1<<"* cella: ";
cin>>vett[a];
}
for(int a=0;a<n;a++){
cout<<a+1<<"* cella: "<<vett[a]<<endl;
media+=vett[a];
}
media/=n;
cout<<"media valori: "<<media<<endl;
system("pause");
return 0;
}



se qualcosa non è chiaro scrivi

********************
hai ragione anche te xd mi sono dimenticato di dividere per n, quella che ho fatto è solo la somma di tutti gli elementi, l'ho aggiustato Ovunque nel sistema, dove hai accesso a `MyContext` , fai questo: 


```
context.Database.GetDbConnection().GetType().Name

```
  Ad esempio, è `SqliteConnection` per SQLite o `SqlServerConnection` per SQL Server e così via. 

 **Tuttavia non sono sicuro di dover smaltire la connessione in seguito!**