Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2017-07-23T21:21:47+02:00Les derniers messages parus sur le forum de Zeste de Savoir.Problème d'entité avec EntityFramework et MySQL, message #1575092017-07-23T21:21:47+02:00artragis/@artragishttps://zestedesavoir.com/forums/sujet/9012/probleme-dentite-avec-entityframework-et-mysql/?page=1#p157509<p>Bien vu, en effet <img alt=":)" src="/static/smileys/smile.png"></p>Problème d'entité avec EntityFramework et MySQL, message #1575042017-07-23T20:43:12+02:00JordanSocyalize/@JordanSocyalizehttps://zestedesavoir.com/forums/sujet/9012/probleme-dentite-avec-entityframework-et-mysql/?page=1#p157504<p>Salut, je viens à l’instant de trouver le problème, la résolution du problème dans mon cas était de remplacer:</p>
<div><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="k">public</span> <span class="kt">uint</span> <span class="n">Id</span> <span class="p">{</span> <span class="k">get</span><span class="p">;</span> <span class="k">set</span><span class="p">;</span> <span class="p">}</span>
</pre></div>
</td></tr></table></div>
<p>par </p>
<div><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="k">public</span> <span class="kt">int</span> <span class="n">Id</span> <span class="p">{</span> <span class="k">get</span><span class="p">;</span> <span class="k">set</span><span class="p">;</span> <span class="p">}</span>
</pre></div>
</td></tr></table></div>Problème d'entité avec EntityFramework et MySQL, message #1575022017-07-23T20:23:31+02:00artragis/@artragishttps://zestedesavoir.com/forums/sujet/9012/probleme-dentite-avec-entityframework-et-mysql/?page=1#p157502<p>Salut,</p>
<p>La première chose que je te conseille c’est d’ajouter l’annotation <code>[DatabaseGenerated(DatabaseGeneratedOption.IDENTITY)]</code> à ton champ ID pour t’assurer que ça soit bien pris en compte. </p>
<p>Ensuite, peux-tu vérifier que la classe <code>User</code> que tu utilises dans ton <code>ApplicationDbContext</code> est bien la classe perso que tu as créée et non une classe de C# que tu aurais importée par mégarde?</p>Problème d'entité avec EntityFramework et MySQL, message #1574982017-07-23T19:17:54+02:00JordanSocyalize/@JordanSocyalizehttps://zestedesavoir.com/forums/sujet/9012/probleme-dentite-avec-entityframework-et-mysql/?page=1#p157498<p>Bonjour,</p>
<p>J’ai un problème lors de la compilation de mon code, on me retourne une erreur:</p>
<blockquote>
<p>JabboCMS.Models.User: : EntityType ’User’ has no key defined. Define the key for this EntityType.</p>
<p>Users: EntityType: EntitySet ’Users’ is based on type ’User’ that has no keys defined.</p>
</blockquote>
<p>Sur cette ligne:</p>
<div><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
2
3
4
5
6
7
8
9
10
11
12
13
14</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="na"> [Authorize]</span>
<span class="k">public</span> <span class="k">class</span> <span class="nc">HomeController</span> <span class="p">:</span> <span class="n">Controller</span>
<span class="p">{</span>
<span class="k">private</span> <span class="n">ApplicationDbContext</span> <span class="n">database</span> <span class="p">=</span> <span class="n">ApplicationDbContext</span><span class="p">.</span><span class="n">Create</span><span class="p">();</span>
<span class="c1">// GET: Home/Index</span>
<span class="na"> [AllowAnonymous]</span>
<span class="k">public</span> <span class="n">ActionResult</span> <span class="nf">Index</span><span class="p">()</span>
<span class="p">{</span>
<span class="n">List</span><span class="p"><</span><span class="n">User</span><span class="p">></span> <span class="n">users</span> <span class="p">=</span> <span class="n">database</span><span class="p">.</span><span class="n">Users</span><span class="p">.</span><span class="n">ToList</span><span class="p">();</span> <span class="c1">// Erreur apparue ici</span>
<span class="k">return</span> <span class="nf">View</span><span class="p">();</span>
<span class="p">}</span>
<span class="p">}</span>
</pre></div>
</td></tr></table></div>
<p>Mon modèle ressemble à ceci:</p>
<div><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
2
3
4
5
6
7
8
9
10</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="na"> [Table("users")]</span>
<span class="k">public</span> <span class="k">class</span> <span class="nc">User</span>
<span class="p">{</span>
<span class="na"> [Column("id")]</span>
<span class="na"> [Key]</span>
<span class="k">public</span> <span class="kt">uint</span> <span class="n">Id</span> <span class="p">{</span> <span class="k">get</span><span class="p">;</span> <span class="k">set</span><span class="p">;</span> <span class="p">}</span>
<span class="na"> [Column("username")]</span>
<span class="k">public</span> <span class="kt">string</span> <span class="n">Username</span> <span class="p">{</span> <span class="k">get</span><span class="p">;</span> <span class="k">set</span><span class="p">;</span> <span class="p">}</span>
<span class="p">}</span>
</pre></div>
</td></tr></table></div>
<p>Et mon context à ceci:</p>
<div><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="na"> [DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]</span>
<span class="k">public</span> <span class="k">class</span> <span class="nc">ApplicationDbContext</span> <span class="p">:</span> <span class="n">DbContext</span>
<span class="p">{</span>
<span class="k">public</span> <span class="nf">ApplicationDbContext</span><span class="p">()</span> <span class="p">:</span> <span class="k">base</span><span class="p">(</span><span class="s">"MySQL"</span><span class="p">)</span>
<span class="p">{</span>
<span class="k">this</span><span class="p">.</span><span class="n">Configuration</span><span class="p">.</span><span class="n">LazyLoadingEnabled</span> <span class="p">=</span> <span class="k">false</span><span class="p">;</span>
<span class="p">}</span>
<span class="k">public</span> <span class="n">DbSet</span><span class="p"><</span><span class="n">User</span><span class="p">></span> <span class="n">Users</span> <span class="p">{</span> <span class="k">get</span><span class="p">;</span> <span class="k">set</span><span class="p">;</span> <span class="p">}</span>
<span class="k">public</span> <span class="k">static</span> <span class="n">ApplicationDbContext</span> <span class="nf">Create</span><span class="p">()</span>
<span class="p">{</span>
<span class="k">return</span> <span class="k">new</span> <span class="nf">ApplicationDbContext</span><span class="p">();</span>
<span class="p">}</span>
<span class="p">}</span>
</pre></div>
</td></tr></table></div>
<p>Je vous avoue que pour le coup je suis totalement perdu, après de multiple recherches, j’ai l’impression d’avoir bien fait, mais apparemment visual studio ne l’entends pas de cette oreille.</p>