IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET MVC Discussion :

asp.net mvc + orm dataobject.net


Sujet :

ASP.NET MVC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre habitu�
    Inscrit en
    Mars 2010
    Messages
    10
    D�tails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 10
    Par d�faut asp.net mvc + orm dataobject.net
    Bonjour,

    je d�bute en ASP.NET et apr�s plusieurs jours de gal�res j'ai enfin trouv� les �l�ments de bases :

    - ASP.NET MVC (je veux du contr�le sur mon code, donc le viewState d�gage)
    - Dataobject.net : excellent ORM, je retrouve ce que je faisais avec SQLAlchemy en python.

    Maintenant j'aimerais associer les 2 (qui fonctionnent bien s�par�ment) : c'est � dire cr�er un projet asp.net mvc avec databoject.net au lieu de linq to sql comme on voit sur tous les guides.

    Mais m�me en suivant la doc dataobject, j'ai �a ne fonctionne pas...

    merci.

  2. #2
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    D�tails du profil
    Informations personnelles :
    �ge : 49
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par d�faut
    mmhhh, il faudrait pr�ciser la question je pense..

  3. #3
    Expert confirm�

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Architecte technique
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par d�faut
    Salut,

    Maintenant j'aimerais associer les 2 (qui fonctionnent bien s�par�ment) : c'est � dire cr�er un projet asp.net mvc avec databoject.net au lieu de linq to sql comme on voit sur tous les guides.
    est-ce que tu arrives � faire marcher DataObject tout seul ?

    La seule diff�rence entre utiliser linq to sql et un autre ORM, ce sont les deux lignes par controlleur qui r�cup�rent ou �crivent les donn�es dans la base

    Par contre, si tu as des retours sur DataObject, ca me dit

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer � la rubrique .NET ? Contactez-moi par MP.
    Vous voulez r�diger des articles pour la rubrique .NET ? Voici la proc�dure � suivre.

  4. #4
    Membre habitu�
    Inscrit en
    Mars 2010
    Messages
    10
    D�tails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 10
    Par d�faut
    S�par�ment, j'ai :
    - un projet MVC (route/contr�leur/vue...)
    - un projet dataobject.net (2 classes pour faire joujou).

    tous 2 sont fonctionnels et m'ont permis de faire des tests et de me familiariser un peu.

    linq to sql n'est pas un vrai ORM � mon sens. D�j� on dessine graphiquement ses classes (rien avoir mais bon) et �a devient vite le bordel quand on veut ajouter des m�thodes (il faut recr�er une classe fille qui h�rite..). Dataobject.net est simple et suit la philoshophie de sqlAlchemy : une classe, une table et des possibilit�s puissantes de validation des champs directement int�gr�es ([EmailConstraint], [PastConstraint]...). De plus Dataobjects se charge enti�rement de la construction de la base. J'ai qu'une ligne � changer et il me cr�er enti�rement ma base oracle, sql server, mysql...

    J'essaie donc de cr�er un projet en utilisant c'est 2 �l�ments : c'est � dire une application asp.net MVC qui utilise dataobjects au lieu de l'habituel linq to sql.

    Je bloque � ce niveau et malheureusement cet exemple (http://blog.alexyakunin.com/2009/11/aspnet-mvc-sample-nerddinner-port-for.html) n'est pas fonctionnel...

    Si quelqu'un a une piste, je suis preneur.

  5. #5
    Expert confirm�

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Architecte technique
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par d�faut
    Citation Envoy� par devstp Voir le message
    J'essaie donc de cr�er un projet en utilisant c'est 2 �l�ments : c'est � dire une application asp.net MVC qui utilise dataobjects au lieu de l'habituel linq to sql.

    Je bloque � ce niveau et malheureusement cet exemple (http://blog.alexyakunin.com/2009/11/...-port-for.html) n'est pas fonctionnel...

    ok, � quel endroit tu bloques, exactement ???

    a la creation du controlleur, de la vue ?
    au moment de r�-�crire les donn�es dans la base ?
    au moment de charger les donn�es ?

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer � la rubrique .NET ? Contactez-moi par MP.
    Vous voulez r�diger des articles pour la rubrique .NET ? Voici la proc�dure � suivre.

  6. #6
    Membre habitu�
    Inscrit en
    Mars 2010
    Messages
    10
    D�tails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 10
    Par d�faut
    je bloque sur le simple affichage d'une liste de personnes de ma table :
    L'extrait de ma vue index.aspx
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
         <% foreach (var agent in (IEnumerable<MvcApplication3.Models.Agent>)ViewData.Model) { %>
            <tr>     
                <td><%= Html.Encode(agent.Nom)%></td>
                <td></td>
                <td></td>
            </tr>
        <% } %>
    Mon model "Agent" :
    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
        [Serializable]
        [HierarchyRoot]
        [Index("Matricule", Unique = true)]
        [Index("Nom")]
        public class Agent : Entity {
     
            [Field, Key]
            public int Id { get; private set; }
     
            [Field]
            [NotNullConstraint]
            public int Matricule { get; set; }
     
            [Field(Length = 30)]
            [NotNullOrEmptyConstraint]
            public string Nom { get; set; }
     
            [Field(Length = 30)]
            public string Prenom { get; set; }
     
        }
    Mon contr�leur :
    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
            /**
            * GET: /Agent/
            **/
            public ActionResult Index() {
     
                var domain = SessionManager.Domain;
                using (Xtensive.Storage.Session.Open(domain)) {
                    using (var transactionScope = Transaction.Open()) {
                        using (var region = Validation.Disable()) {
     
                            // Querying the storage using regular LINQ query
                            var agents = Query.All<Agent>();
     
                            /**
                            // pour vérifier que ma requete est bonne : et effectivement, elle l'est. Donc ça ne coince pas à ce niveau
                            foreach (var agent in agents) {
                                  Response.Write("<p>" + agent.Nom + "</p>");                            
                            }
                            /**/
     
                            return View(agents);
                        }
                        transactionScope.Complete();
                    }
                }
     
            }

    L'erreur lors de l'acc�s � GET /Agent :
    Active Session is required for this operation. Use Session.Open(...) to open it.
    Description : Une exception non g�r�e s'est produite au moment de l'ex�cution de la demande Web actuelle. Contr�lez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

    D�tails de l'exception: System.InvalidOperationException: Active Session is required for this operation. Use Session.Open(...) to open it.

    Erreur source:

    Ligne 14 : <th>Pr�nom</th>
    Ligne 15 : </tr>
    Ligne 16 : <% foreach (var agent in (IEnumerable<MvcApplication3.Models.Agent>)ViewData["data"]) { %>
    Ligne 17 : <tr>
    Ligne 18 : <td><%= Html.Encode(agent.Nom)%></td>
    Je dois avoir un soucis de le Session.Open(domain) mais je vois pas o� ??

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Sortie de Microsoft ASP.NET MVC Beta
    Par J�r�me Lambert dans le forum G�n�ral Dotnet
    R�ponses: 17
    Dernier message: 06/11/2008, 23h12
  2. [ASP.NET MVC] C'est quoi ?
    Par DranDane dans le forum ASP.NET
    R�ponses: 2
    Dernier message: 05/09/2008, 11h48
  3. ASP.NET MVC Preview 4
    Par hollywood dans le forum G�n�ral Dotnet
    R�ponses: 0
    Dernier message: 22/07/2008, 11h57
  4. Framework ASP.NET MVC
    Par superbobo dans le forum G�n�ral Dotnet
    R�ponses: 5
    Dernier message: 02/07/2008, 16h11
  5. ASP.NET MVC Preview 2
    Par cereal59 dans le forum ASP.NET
    R�ponses: 1
    Dernier message: 04/04/2008, 16h41

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