LINQ requête select avec Anonyme de type et de type Défini par l'utilisateur

Classe anonyme a des propriétés en lecture seulement en c#. Qui est souvent utilisé pour déclarer des linq requête select pour obtenir des valeurs particulières de la base de données.
Dans mon code j'ai la requête suivante.La chose qui me confond sélection de nouveaux objets de la classe anonyme à l'aide de la nouvelle déclaration. J'ai eu une classe de modèle de StudentClerkshipsLogModel . Lorsque j'utilise le nom du modèle, le résultat de la requête, autoriser la modification.

var query = (from entity in _tblStudentClerkshipsLog.GetQueryable()
             where entity.StudentID == intStudentID                             
             select new StudentClerkshipsLogModel
             {
                 StudentClerkshipID = entity.StudentClerkshipID,
                 StudentID = entity.StudentID,
                 ClerkshipID = entity.ClerkshipID,
             }).ToList();

Quand je ne faisait pas mention de type après new dans select déclaration, je suis incapable de le quitter. le compilateur génère une erreur . enonymous objet est en lecture seule.

var query = (from entity in _tblStudentClerkshipsLog.GetQueryable()
             where entity.StudentID == intStudentID                             
             select new 
             {
                 StudentClerkshipID = entity.StudentClerkshipID,
                 StudentID = entity.StudentID,
                 ClerkshipID = entity.ClerkshipID,
             }).ToList()

ma question est comment linq lier le sujet de deux de requête différemment . Les deux requêtes ont de liaison dynamique ou première est statique.

Grâce

Qu'entendez-vous par "je suis incapable de sortir"? Ce code est le compilateur se plaindre? (Je me doute que c'est le code que vous avez indiqué.) Êtes-vous essayer de modifier les objets plus tard? Si oui, de montrer le code.
je veux modifier le code plus tard .mais j'ai besoin de connaître la différence entre les requêtes select, donc je peut choisir la meilleure .
il ressemble à une faute de frappe. "Je suis incapable de modifier".
Ils sont juste différents. L'un des projets d'un type anonyme, les autres projets à un type nommé. Si vous avez besoin de modifier les objets tard le, vous avez certainement ne pouvez pas utiliser un type anonyme, sous la forme de propriétés sur les types anonymes sont en lecture seule. Qui n'a rien à voir avec LINQ directement...
définir un critère de "mieux".

OriginalL'auteur Muhammad Nasir | 2015-09-08