Entity Framework

Entity Framework - C#/.NET managed - Programmation

Marsh Posté le 01-10-2010 à 10:07:58    

Bonjour
 
j'hésite un peu sur la section ou poster mais vu que c 'est surtout orienté C# et que ça touche les SGBD je poste ici
 
J'aimerais savoir si quelqu'un connaissais un site ou je pourrais comprendre les subtilités de l'entity framework, pour le moment j'ai de gros problèmes avec le mapping que je n'arrive pas à résoudre
 
D'ailleurs si l'un d'entre vous connais bien l'entity framework je ne serais pas contre un coup de main, je précise que je ne connaissais pas C# il y a 15 jours...
 
Merci à tous


---------------
http://forum.hardware.fr/hfr/Achat [...] 0043_1.htm
Reply

Marsh Posté le 01-10-2010 à 10:07:58   

Reply

Marsh Posté le 01-10-2010 à 12:24:42    

Tout d'abord Fred merci à toi de me répondre ;) pour le tuto d'introduction de dev.com c'est deja fait :D
Je n'ai pas encore pu rentrer dans les arcanes du produit puisque j'en suis encore à bloquer sur la modélisation objet de ma base, lorsque je fait les tutos quels qu'ils soient (helloentityfx, northwind) pas de soucis mais quand il s'agit d'appliquer à ma base ça se complique...  
Je cherche actuellement a faire de l'héritage entre une table EMPLOYEE, une table USER et une table CONTRACTOR, contractor et user devant hériter de employee
 
J'importe mes trois tables, dans l'editeur je supprime les liens de cardinalités et je rajoute l'heritage, a partir de la ça se complique , j ai des erreurs de mapping que je n'arrive pas a resoudre
 
Error 1 Error 3024: Problem in mapping fragments starting at line 149:Must specify mapping for all key properties (DM_EMPLOYEE.IdEmployee) of the EntitySet DM_EMPLOYEE.
 
le probleme c est que les desc d'erreur sont assez succintes je m'étais habitué çà un eclipse plutot "parlant", je precise que je bosse sous visual studio 2010
 
En fait mon probleme est clairement orienté sur le mappage d'objet et toutes les infos que j'ai pu trouver sur le net pour le moment portent assez peu sur cette partie de l'EF
 


---------------
http://forum.hardware.fr/hfr/Achat [...] 0043_1.htm
Reply

Marsh Posté le 04-10-2010 à 11:15:41    

apparement le problème venait plus de ma table certains champs existait du coté USER et du coté EMPLOYEE, j ai supprimé ces champs de la table USER et depuis l'héritage fonctionne très bien ;)
 
Par contre je dois dire que je trouve ces limitations (si ça en est réellement) totalement aberrantes, cela signifie que toute la table doit être modifiée pour le code, du coup l'intérêt de l'EF me semble beaucoup moins présent, ce qui m'interressait était de pouvoir bosser sur un modèle objet sans impacter ma base
 
Bref à moins d'une mauvaise utilisation de ma part (tout à fait possible) pour moi l'EF ne tient pas ses promesses!!!


Message édité par snipeangel le 04-10-2010 à 11:16:10

---------------
http://forum.hardware.fr/hfr/Achat [...] 0043_1.htm
Reply

Marsh Posté le 04-10-2010 à 11:42:00    

Je pensais pouvoir recuperer n'importe quelle table de ma base , delete les champs doubles dans la représentation graphique pour les initialiser grace à l'héritage...
Bref des c... de débutant :D et je crois que j'ai pas fini l'EF a l'air tout sauf simple et abordable!


---------------
http://forum.hardware.fr/hfr/Achat [...] 0043_1.htm
Reply

Marsh Posté le 04-10-2010 à 12:00:38    

snipeangel a écrit :

J'aimerais savoir si quelqu'un connaissais un site ou je pourrais comprendre les subtilités de l'entity framework, pour le moment j'ai de gros problèmes avec le mapping que je n'arrive pas à résoudre
Merci à tous

Quelques pointeurs sur la doc:
Julia Lerman - Programming Entity Framework, O'Reilly, Second edition  
Scott Klein - Pro Entity Framework 4.0, APress
Larry Tenny et Zeeshan Hirani - Entity Framework 4.0 Recipes: A Problem-Solution Approach, APress
Roger Jennings - Professional ADO.NET 3.5 with LINQ and the Entity Framework, Wrox
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 04-10-2010 à 12:01:32    

Je ne dis pas que EF ne fonctionne pas, je dis juste que la prise en main n'est pas forcement ultra intuitive, de plus dans mon cas qui part d'une base que je crée, je peux me permettre de modifier cette dernière à ma guise mais j'imagine si je devais adapter à une base déja existante...
Les modifs à effectuer sont quand même relativement lourdes du point de vue de la base et du coup l'intérêt si il est présent me semble restreint c est tout ce que je cherchais à dire, après j'imagine que pour toi qui maitrise l'EF il y a sans doute plein de façon de contourner les limitations (query viewing avec modif du XML par exemple) mais pour un dev débutant c est assez complexe


---------------
http://forum.hardware.fr/hfr/Achat [...] 0043_1.htm
Reply

Marsh Posté le 06-10-2010 à 15:13:00    

@gilou, merci pour la littérature, la commande est passée
j'ai enfin passé outre les problèmes de mapping, j'attaque la compréhension des requêtes et la compréhension des tests unitaires ;)
merci a vous messieurs


Message édité par snipeangel le 06-10-2010 à 15:13:30

---------------
http://forum.hardware.fr/hfr/Achat [...] 0043_1.htm
Reply

Marsh Posté le 06-10-2010 à 15:34:06    

drap :)


---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
Reply

Marsh Posté le 11-10-2010 à 15:51:50    

Bonjour a tous
Je reviens vers vous, mon problème du jour , comment faire un update sut une classe fille?
Je vous explique j ai actuellement une classe(entité) employee de laquelle héritent une classe User et une classe Contractor
Une image valant mieux qu'un long discourt...
http://img818.imageshack.us/img818/4818/hfr.png
Aucun soucis pour creer un nouvel 'employee', ou un nouvel 'USER' ou 'CONTRACTOR' de même que j arrive sans soucis a updater un 'EMPLOYEE'
Par contre des que je cherche a faire en sorte qu'un 'EMPLOYEE' devienne un 'USER' impossible...code ci dessous , si quelqu'un pouvait m aiguiller
 

           using (PPTEntities conn5 = new PPTEntities())
            {
                USER ange= (from e in conn5.EMPLOYEE.OfType<USER>()
                                where e.FirstName == "ange"
                                select e).FirstOrDefault();
                if (ange!= null)
                {
                    ange.StatusUser = 1;
                    ange.Name = "Chef de projet";
                    conn5.SaveChanges();
                }
            };


 
merci a tous et bon après midi


Message édité par snipeangel le 12-10-2010 à 19:46:08

---------------
http://forum.hardware.fr/hfr/Achat [...] 0043_1.htm
Reply

Marsh Posté le 12-10-2010 à 11:07:24    

Aucune exception levée, c est bien la qu est mon problème... Si encore j avais une exception ça me donnerait une piste, la en l'occurrence VS ne m annonce aucune erreur et quand je lance il n y aucune exception mais je n arrive pas a updater un employée en user ou contractor


---------------
http://forum.hardware.fr/hfr/Achat [...] 0043_1.htm
Reply

Marsh Posté le 12-10-2010 à 11:07:24   

Reply

Marsh Posté le 14-10-2010 à 09:59:56    

pour avoir lancé la même requête mais sans l'update qui suit, je peu te garantir que l'info est présente dans la table...
 
Fred82 merci pour le lien très instructif au demeurant mais qui ne correspond pas totalement à mon problème
Je pense savoir d'où vient mon problème, dans l'exemple ci dessus la classe EMPLOYEE n est pas une classe abstraite elle peu etre instanciée au même titre que les classes USER et CONTRACTOR ce qui pose semble il des problèmes avec l'héritage, j en viens à me demander si il est possible d'effectuer ce type d'opération avec l'entity framework...
Je pense que je vais repartir sur des relations simples et éviter l'héritage, au gré de mes recherches je n ai pas reussi a tomber sur un exemple ou la classe Parent ne soit pas une classe abstraite


Message édité par snipeangel le 14-10-2010 à 11:21:17

---------------
http://forum.hardware.fr/hfr/Achat [...] 0043_1.htm
Reply

Marsh Posté le 14-10-2010 à 11:22:09    

:lol:, je vois que tout ça t'inspire hautement, je te remercie d'avoir pris le temps d'essayer de m'aider en tout cas ;)


---------------
http://forum.hardware.fr/hfr/Achat [...] 0043_1.htm
Reply

Marsh Posté le 14-10-2010 à 13:00:15    

Ah oui mais tu vois moi quand j'attaque un truc je fais pas semblant...
Je pense que ça va pas mal me simplifier l'histoire d'abandonner l'héritage ;)


---------------
http://forum.hardware.fr/hfr/Achat [...] 0043_1.htm
Reply

Marsh Posté le 15-10-2010 à 15:00:21    

Question pour Fred82 ;)

Spoiler :

ou un autre connaisseur de l'entity framework :lol:


 
Si j'update ma base de données en une V2 par exemple est il possible avec l entity framework de mettre a jour le code sans tout réécrire???
Je ne sais pas si je suis tres clair mais je ne vois pas de meilleure façon de l'expliquer :(


Message édité par snipeangel le 15-10-2010 à 15:00:40

---------------
http://forum.hardware.fr/hfr/Achat [...] 0043_1.htm
Reply

Marsh Posté le 27-10-2010 à 10:34:07    

Bonjour
Quelqu'un pourrait il m expliquer de façon simple comment faire des test unitaires sans rentrer de données dans ma DB
J ai implémenter les pattern Repository et UnitOfWork et je fais mes test avec NUnit
Tous mes tests fonctionnent tres bien  en insérant des données dans ma base mais je ne trouve pas grand chose sur le net ou alors très mal expliqué, concernant les tests unitaires sans insertion prealable
 
Je pensais m'etre approché un peu de la solution mais je bloque, je n arrive pas à touver le ContextBuilder??? tous les posts que je lis indiquent qu'il se trouve des Microsoft.Data.Objects.ContextBuilder mais je n arrive pas a le trouver en faisant un using, quelqu'un pourrait m' aiguiller SVP
 
merci ;)


Message édité par snipeangel le 27-10-2010 à 13:51:56

---------------
http://forum.hardware.fr/hfr/Achat [...] 0043_1.htm
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed