Pourriez-vous me dire comment traduire le code SQL suivant en Linq To SQL ou Linq To Entites?comment traduire le code SQL "ayant" une condition dans LinqToSQL ou LinqToEntites?
Le code SQL correcte est:
sélectionner CollectId, url, ID utilisateur, pubtime du groupe Collect par url, collectid, ID utilisateur, pubtime ayant pubtime> = (sélectionner max (pubtime) à partir de recueillir d = où d.url collect.url) commande par Collect.pubtime desc
Le script de table de base de données est:
si elle existe (select * from sysobjects où id = OBJECT_ID ('[Récolter]') et OBJECTPROPERTY (id, 'IsUserTable') = 1) DROP TABLE [Récolter]
CREATE TABLE [Récolter] ([CollectId] [entier] IDENTITY (1, 1) NOT NULL, [Url] [nvarchar] (200) NULL, [UserId] [nvarchar] (50) NULL, [PubTime] [datetime] NULL)
ALTER TABLE [Récolter] AVEC NOCHECK AJOUTER CONTRAINTE [PK_Collect] PRIMARY KEY NONCLUSTERED ([CollectId]) SET IDENTITY_INSERT [Récolter] ON
INSERT [Récolter] ([CollectId], [URL], [ID utilisateur], [pubtime]) VALEURS ( 1, 'www.sohu.com', 'Mike ',' 2008-10-10 0:00:00 ') INSÉRER [Collecter] ([CollectId], [Url], [UserId], [PubTime]) VALEURS ( 2,' www.echina365.com ',' Lily ',' 2008-10-15 0:00:00 ') INSÉRER [Collecter] ([CollectId], [Url], [UserId], [PubTime]) VALEURS ( 3,' www .php.com ',' Tom ',' 2008-10-20 0:00:00 ') INSÉRER [Collecter] ([CollectId], [Url], [ID utilisateur], [PubTime]) VALEURS ( 4, 'www.echina365.com', 'YaoMing', '2008-10-23 0:00:00') INSÉRER [Collecter] ([CollectId], [Url], [ID utilisateur], [PubTime]) VALEURS ( 5, 'www.echina365.com', 'Mike', '2008-10-25 0:00:00') INSÉRER [Collecter] ([CollectId], [Url], [UserId], [PubTime]) VALEURS ( 6, 'www.sohu.com', 'Jack', '2008-10-26 0:00:00') INSÉRER [Collecter] ([CollectId], [Url], [UserId], [PubTime]) VALEURS ( 7, 'www.echina365.com', 'Tracy', '2008-11-2 0:00:00') INSÉRER [Collecter] ([CollectId], [Url], [UserId], [PubTime]) VALEURS ( 8, 'www.php.com', 'Yaoming', '05/11/2008 0:00:00')
SET IDENTITY_INSERT [Récolter] OFF