1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2005
    Messages : 25
    Points : 10
    Points
    10

    Par défaut Problème de migration base sqlite + c# + UWP

    Bonjour,

    Visual Studio 2017 Version 15.2 (26430.15) Release
    Microsoft.EntityFrameworkCore.Sqlite V1.1.2
    Microsoft.EntityFrameworkCore.Tools v1.1.1
    Microsoft.NetCore.UniversalWindosPlatform v5.3.3
    SQLite.Net-PCL v3.1.1
    System.Data.SQLite v1.0.105.2
    Microsoft .NET Framework 4.7.02046

    Je débute dans l'utilisation de SQLIte via Entity Framework pour UWP.
    Mon problème est le suivant: impossible de migrer ma base SQLite créée.
    Dans la console:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    PM> add-migration
    applet de commande Add-Migration à la position 1 du pipeline de la commande
    Fournissez des valeurs pour les paramètres suivants*:
    Name:
    Je ne sait quoi mettre comme 'Name'???

    De plus si j’exécute mon appli (qui en est à un stade plus que minimaliste), j'ai l'erreur suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    L'exception Microsoft.EntityFrameworkCore.DbUpdateException s'est produite
      HResult=0x80131500
      Message=An error occurred while updating the entries. See the inner exception for details.
      Source=<Impossible d'évaluer la source de l'exception>
      Arborescence des appels de procédure*:
       à Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.Execute(IRelationalConnection connection)
       à Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.Execute(Tuple`2 parameters)
       à Microsoft.EntityFrameworkCore.Storage.Internal.NoopExecutionStrategy.Execute[TState,TResult](Func`2 operation, Func`2 verifySucceeded, TState state)
       à Microsoft.EntityFrameworkCore.ExecutionStrategyExtensions.Execute[TState,TResult](IExecutionStrategy strategy, Func`2 operation, TState state)
       à Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.Execute(IEnumerable`1 commandBatches, IRelationalConnection connection)
       à Microsoft.EntityFrameworkCore.Storage.RelationalDatabase.SaveChanges(IReadOnlyList`1 entries)
       à Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChanges(IReadOnlyList`1 entriesToSave)
       à Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChanges(Boolean acceptAllChangesOnSuccess)
       à Microsoft.EntityFrameworkCore.DbContext.SaveChanges(Boolean acceptAllChangesOnSuccess)
       à Microsoft.EntityFrameworkCore.DbContext.SaveChanges()
       à SQLiteUWPEF.MainPage..ctor() dans C:\Users\zest\documents\visual studio 2017\Projects\SQLiteUWPEF\SQLiteUWPEF\MainPage.xaml.cs :ligne 33
       à SQLiteUWPEF.SQLiteUWPEF_XamlTypeInfo.XamlTypeInfoProvider.Activate_0_MainPage() dans C:\Users\Stéphane\documents\visual studio 2017\Projects\SQLiteUWPEF\SQLiteUWPEF\obj\x86\Debug\XamlTypeInfo.g.cs :ligne 178
       à SQLiteUWPEF.SQLiteUWPEF_XamlTypeInfo.XamlUserType.ActivateInstance() dans C:\Users\Stéphane\documents\visual studio 2017\Projects\SQLiteUWPEF\SQLiteUWPEF\obj\x86\Debug\XamlTypeInfo.g.cs :ligne 333
     
    Exception interne 1*:
    SqliteException*: SQLite Error 1: 'table MyTable has no column named OneColumn'.
    Après mes recherche sur le Net, il s'agirais à priori d'un problème de migration de ma base.

    Et là je n'y pige pas grand chose....donc: HELP!!

    À vrai, dire je ne suis absolument pas certain de l'implémentation de mon code.


    Merci

    Mon MainPage.xaml.cs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    using Microsoft.EntityFrameworkCore;
    using Windows.UI.Xaml.Controls;
    using Windows.UI.Popups;
    using System.Collections.Generic;
    using System.Linq;
     
    // Pour plus d'informations sur le modèle d'élément Page vierge, consultez la page https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409
     
    namespace SQLiteUWPEF
    {
        /// <summary>
        /// Une page vide peut être utilisée seule ou constituer une page de destination au sein d'un frame.
        /// </summary>
        public sealed partial class MainPage : Page
        {
            public MainPage()
            {
                this.InitializeComponent();
     
                List<string> outSQL = new List<string>();
     
                using (var db = new MyContext())
                {
     
                    //db.Database.EnsureCreated();
                    db.MyTable.Count();            
     
                    MyEntity Stak = new MyEntity();
                    Stak.MyColumn = "ALBERT";
                    Stak.YourColumn = "Londres";
                    Stak.OneColumn = "AZERTY";
                    db.MyTable.Add(Stak);
                    db.SaveChanges();
     
                    outSQL = (from g in db.MyTable select g.MyColumn).ToList();
                    lstV1.ItemsSource = outSQL;            
     
                    db.Dispose();
     
     
                }
            }
     
        }
    }
    MyContext.cs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    using Microsoft.Data.Sqlite;
    using Microsoft.EntityFrameworkCore;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
     
    namespace SQLiteUWPEF
    {
        public class MyContext : DbContext
        {
            // This property defines the table
            public DbSet<MyEntity> MyTable { get; set; }
     
            // This method connects the context with the database
            protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
            {
                var connectionStringBuilder = new SqliteConnectionStringBuilder { DataSource = "uwp.sqlite" };
                var connectionString = connectionStringBuilder.ToString();
                var connection = new SqliteConnection(connectionString);
     
                optionsBuilder.UseSqlite(connection);
            }
        }
    }
    App.xaml.cs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
     
    using Microsoft.EntityFrameworkCore;
    using System;
    using System.Linq;
    using Windows.ApplicationModel;
    using Windows.ApplicationModel.Activation;
    using Windows.UI.Xaml;
    using Windows.UI.Xaml.Controls;
    using Windows.UI.Xaml.Navigation;
    using Windows.UI.Popups;
    using System.Collections.Generic;
    using Microsoft.EntityFrameworkCore.Migrations;
    using System.IO;
    using System.Runtime.InteropServices.WindowsRuntime;
     
    namespace SQLiteUWPEF
    {
        /// <summary>
        /// Fournit un comportement spécifique à l'application afin de compléter la classe Application par défaut.
        /// </summary>
        sealed partial class App : Application
        {
            /// <summary>
            /// Initialise l'objet d'application de singleton.  Il s'agit de la première ligne du code créé
            /// à être exécutée. Elle correspond donc à l'équivalent logique de main() ou WinMain().
            /// </summary>
            public App()
            {
                this.InitializeComponent();
                this.Suspending += OnSuspending;
     
                using (var db = new MyContext())
                {
                    db.Database.Migrate();
                }
     
                //List<string> outSQL = new List<string>();
     
                // using (var db = new MyContext())
                // {
                //     db.Database.EnsureCreated();
                //     //db.Database.ApplyMigrations();
                //     //db.MyTable.migrate();
                //     //MyTable.Initialize(db);
     
     
                //     MyEntity Stak = new MyEntity();
                //     Stak.MyColumn = "ALBERT";
                //     //Stak.YourColumn = "Londres";
                //     //Stak.OneColumn = "AZERTY";
                //     db.MyTable.Add(Stak);
                //     db.SaveChanges();
     
                //     outSQL = (from g in db.MyTable select g.MyColumn).ToList();
                //     db.Dispose();
     
                //     var messageDialog = new MessageDialog(outSQL[1]);
                //     //foreach (string item in outSQL)
                //     //{
                //     //    //displayNoWifiDialog(item);
                //     //    var messageDialog = new MessageDialog(item);
                //     //}
     
                // }
            }
     
            /// <summary>
            /// Invoqué lorsque l'application est lancée normalement par l'utilisateur final.  D'autres points d'entrée
            /// seront utilisés par exemple au moment du lancement de l'application pour l'ouverture d'un fichier spécifique.
            /// </summary>
            /// <param name="e">Détails concernant la requête et le processus de lancement.</param>
            protected override void OnLaunched(LaunchActivatedEventArgs e)
            {
                Frame rootFrame = Window.Current.Content as Frame;
     
                // Ne répétez pas l'initialisation de l'application lorsque la fenêtre comporte déjà du contenu,
                // assurez-vous juste que la fenêtre est active
                if (rootFrame == null)
                {
                    // Créez un Frame utilisable comme contexte de navigation et naviguez jusqu'à la première page
                    rootFrame = new Frame();
     
                    rootFrame.NavigationFailed += OnNavigationFailed;
     
                    if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
                    {
                        //TODO: chargez l'état de l'application précédemment suspendue
                    }
     
                    // Placez le frame dans la fenêtre active
                    Window.Current.Content = rootFrame;
                }
     
                if (e.PrelaunchActivated == false)
                {
                    if (rootFrame.Content == null)
                    {
                        // Quand la pile de navigation n'est pas restaurée, accédez à la première page,
                        // puis configurez la nouvelle page en transmettant les informations requises en tant que
                        // paramètre
                        rootFrame.Navigate(typeof(MainPage), e.Arguments);
                    }
                    // Vérifiez que la fenêtre actuelle est active
                    Window.Current.Activate();
                }
            }
     
            /// <summary>
            /// Appelé lorsque la navigation vers une page donnée échoue
            /// </summary>
            /// <param name="sender">Frame à l'origine de l'échec de navigation.</param>
            /// <param name="e">Détails relatifs à l'échec de navigation</param>
            void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
            {
                throw new Exception("Failed to load Page " + e.SourcePageType.FullName);
            }
     
            /// <summary>
            /// Appelé lorsque l'exécution de l'application est suspendue.  L'état de l'application est enregistré
            /// sans savoir si l'application pourra se fermer ou reprendre sans endommager
            /// le contenu de la mémoire.
            /// </summary>
            /// <param name="sender">Source de la requête de suspension.</param>
            /// <param name="e">Détails de la requête de suspension.</param>
            private void OnSuspending(object sender, SuspendingEventArgs e)
            {
                var deferral = e.SuspendingOperation.GetDeferral();
                //TODO: enregistrez l'état de l'application et arrêtez toute activité en arrière-plan
                deferral.Complete();
            }
     
        }
    }
    MyEntity.cs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    using Microsoft.EntityFrameworkCore;
    using System.Collections.Generic;
    using SQLite.Net.Attributes;
     
    namespace SQLiteUWPEF
    {
        public class MyEntity
        {
            [PrimaryKey, AutoIncrement]
            public int id { get; set; }
            public string MyColumn { get; set; }
            public string YourColumn { get; set; }
            public string OneColumn { get; set; }
     
            public MyEntity()
            {
     
            }
        }
     
    }
    MainPage.xaml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <Page
        x:Class="SQLiteUWPEF.MainPage"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="using:SQLiteUWPEF"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d">
     
        <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
            <TextBox x:Name="txtBox01" HorizontalAlignment="Left" Margin="112,114,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="138"/>
            <ListView x:Name="lstV1" HorizontalAlignment="Left" Height="147" Margin="112,151,0,0" VerticalAlignment="Top" Width="238"/>
     
        </Grid>
    </Page>

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2005
    Messages : 25
    Points : 10
    Points
    10

    Par défaut

    Je viens de refaire sur une autre session Visual Studio 2017, exactement le même programme.
    Et tout fonctionne!!

    En fait j'avais rajouté deux champs dans la classe MyEntity après coup.
    au début:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [PrimaryKey, AutoIncrement]
            public int ID { get; set; }
            public string MyColumn { get; set; }
    Un premier RUN, puis j'avais voulu rajouter, YourColumn et OneColumn
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    [PrimaryKey, AutoIncrement]
            public int ID { get; set; }
            public string MyColumn { get; set; }
            public string YourColumn { get; set; }
            public string OneColumn { get; set; }
    Il s'agit donc bien d'un problème de db.Migrate...mais je ne trouve pas!!!
    En gros comment modifier en cours de développement la structure d'une table?

  3. #3
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    février 2010
    Messages
    3 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : février 2010
    Messages : 3 252
    Points : 8 651
    Points
    8 651
    Billets dans le blog
    3

    Par défaut

    Quand tu appelles la commande Add-Migration il faut que tu passes un nom, qui sera le nom de cette migration.

    Par exemple si tu rajoutes des colonnes tu peux avoir un nom de migration comme "AddedColumnsOnTableMyTable". Ca peut etre ce que tu veux tant que ca n'a pas ete deja utilise (unique) et que ca respecte les conventions de nommage.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2005
    Messages : 25
    Points : 10
    Points
    10

    Par défaut

    J'ai bien essayé mai sans succès, voici-le message ( j'ai juste rajouté un champ 'TwoColumn') dans la classe MyEntity
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    PM> Add-Migration ColVille
    To undo this action, use Remove-Migration.
    Add-Migration : Impossible d'ajouter le lien, car le fichier source 'C:\Users\zest\Documents\Visual Studio 2017\Projects\SQLitUWPnewTEST\SQLitUWPnewTEST\Migrations\20170710110939_ColVille.cs' est 
    introuvable.
    Au caractère Ligne:1 : 1
    + Add-Migration ColVille
    + ~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : OperationStopped: (:) [Add-Migration], COMException
        + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException,Add-Migration
     
    PM>

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2005
    Messages : 25
    Points : 10
    Points
    10

    Par défaut

    Nouvel essai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    PM> Add-Migration
    applet de commande Add-Migration à la position 1 du pipeline de la commande
    Fournissez des valeurs pour les paramètres suivants*:
    Name: MaMigrTwoColumn
    To undo this action, use Remove-Migration.
    Add-Migration : Impossible d'ajouter le lien, car le fichier source 'C:\Users\St&#65533;phane\Documents\Visual Studio 2017\Projects\SQLitUWPnewTEST\SQLitUWPnewTEST\Migrations\20170710111624_MaMigrTwoColumn.cs' est 
    introuvable.
    Au caractère Ligne:1 : 1
    + Add-Migration
    + ~~~~~~~~~~~~~
        + CategoryInfo          : OperationStopped: (:) [Add-Migration], COMException
        + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException,Add-Migration
     
    PM>
    Je ne vois pas du tout....

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    février 2010
    Messages
    3 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : février 2010
    Messages : 3 252
    Points : 8 651
    Points
    8 651
    Billets dans le blog
    3

    Par défaut

    Etrange. Est-ce que tu compiles ton projet en x64 ? Si oui, essaie en x86 pour voir ce que ca donne.

    Sinon, il y a pas mal de problemes reportes ici : 17 issues in aspnet/EntityFramework. Je sais que tu n'est pas en ASP.NET, mais les problemes pour UWP sont egalement reportes ici. Dans la liste on peut voir plusieurs tickets au sujet d'UWP.

    Il y a une autre solution postee ici : How do I fix “Add-Migration : Cannot add the link because the source file '' cannot be found”?.

    Tu peux aussi essayer de lancer VS en mode Admin pour etre sur que ca ne soit pas un simple probleme de permission qui empecherait VS d'ecrire la classe de migration sur le disque dur.

    Enfin, tu peux creer ta classe de migration a la main... C'est un peu de boulot mais ca devrait fonctionner.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2005
    Messages : 25
    Points : 10
    Points
    10

    Par défaut

    J'ai essayé en x86, x64 et Device, c'est la même chose....

    En fait j'ai contourné le problème en recréant le projet.

    Mais si je dois de nouveau changer la structure d'une de mes tables...aïe!! :-(

    Oui j'ai rencontré pas mal de post sur divers forums (surtout US) où il semblerait y avoir des problèmes avec Add-migration et VS 2017....

    Je vais essayé d'investiguer un peu plus....mais si tu as la réponse, je suis là! :-)

    https://docs.microsoft.com/en-us/ef/...cli/powershell

  8. #8
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    février 2010
    Messages
    3 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : février 2010
    Messages : 3 252
    Points : 8 651
    Points
    8 651
    Billets dans le blog
    3

    Par défaut

    En attendant une amelioration il te reste toujours la solution de creer les classes de migration a la main, ca t'evitera deja de recreer tout le projet...

    [EDIT] Voici un exemple :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    namespace CodeFirstNewDatabaseSample.Migrations 
    { 
        using System; 
        using System.Data.Entity.Migrations; 
     
        public partial class AddUrl : DbMigration 
        { 
            public override void Up() 
            { 
                AddColumn("dbo.Blogs", "Url", c => c.String()); 
            } 
     
            public override void Down() 
            { 
                DropColumn("dbo.Blogs", "Url"); 
            } 
        } 
    }
    La methode Up() doit contenir le code pour upgrader la base vers la nouvelle modification (Update-Database), et Down() doit contenir le code pour revenir en arriere (Remove-Migration).

    source : Entity Framework Code First to a New Database

    Enfin tu peux aussi faire le sens inverse, c'est-a-dire utiliser Database-First au lieu de Code-First.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige

  9. #9
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2005
    Messages : 25
    Points : 10
    Points
    10

    Par défaut

    Merci pour tes réponses plus que détaillées!!!
    Je teste ça et je fais un retour....

  10. #10
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2005
    Messages : 25
    Points : 10
    Points
    10

    Par défaut

    Je n'ai pas le using

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    using System.Data.Entity.Migrations;
    je signale que je suis sous Visual 2017 Net.Core.

  11. #11
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    février 2010
    Messages
    3 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : février 2010
    Messages : 3 252
    Points : 8 651
    Points
    8 651
    Billets dans le blog
    3

    Par défaut

    Pour Core il faut utiliser Microsoft.EntityFrameworkCore.Migrations.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige

Discussions similaires

  1. Problème de migration base oracle 32 bits vers base 64 bits
    Par lynxdu37 dans le forum Installation
    Réponses: 7
    Dernier message: 17/04/2012, 11h11
  2. Problème de migration de bases Mysql vers Oracle
    Par mcgiant dans le forum Administration
    Réponses: 0
    Dernier message: 19/06/2009, 17h02
  3. Réponses: 4
    Dernier message: 07/03/2008, 09h40
  4. Réponses: 4
    Dernier message: 20/01/2008, 13h56
  5. [VB6]Débutant - Problèmes de base de données?
    Par steeves5 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/06/2006, 22h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo