2016-08-27 15 views
3
konvertieren

Ich habe eine SQL Abfrage ISQL LINQ-Abfrage LINQ Abfrage

Hier in LINQ schreiben möchte, ist meine Frage

SELECT DISTINCT * 
FROM [IHQDB].[dbo].[Table1] as t1 
inner join Table2 as t2 on t2.Table2 =t1.ChangedItemID 
inner join Table3 as t3 on t3.Table3 = t1.FromUserID 
where (t1.FromUserID=1 And t2.ContentItemID= t1.ChangedItemID) 
OR (t2.LastModifiedBy=1 or t2.CreatedBy=1) 

Hallo jetzt seine Arbeit gut, aber mein Abfrage etwas anders an Stelle von 1 Ich brauche meine Benutzer-ID auf der Grundlage ihrer Vor-und Nachname von M_User Tabelle. Wie bekomme ich UserId auf Basis von Vorname + Nachname.

Hier ist meine LINQ CODE Für Benutzername Abrufen

linq4 = from q in context.T_ContentItems 
join p in context.M_Users on q.CreatedBy equals p.UserID 
where (advanceKeyword.Contains(p.EmployeeFirstName + " " + p.EmployeeLastName)) select q; 
advancechk12 = linq4.ToList(); 

============================ =========================================

Was ich Voraussetzung ist, dass, wo auch immer ich den Wert "1" geschrieben habe (zB t2.CreatedBy=1), ich die UserID finden muss. Der Einfachheit halber kann ich die Namen aller gefilterten Benutzer in der prostechk12 abrufen. Wie rufe ich die UserID des der Liste von Benutzernamen in advancechk12 zurück

+1

Veröffentlichen Sie auch Ihre Entitätsmodelle. – Developer

+0

Bitte stellen Sie Ihre zweite Frage zu einem neuen Beitrag. Es ist eine neue Frage. Dann haben Sie mehr Feedback. – Sampath

Antwort

1

Sie haben unten genannten Linq Abfrage mit Ihren Modellen ersetzen name.I nur den gleichen Namen des T-SQL verwendet.

var t1List = (from t1 in db.Table1 
    join t2 in db.Table2 on t1.ChangedItemID equals t2.Id 
    join t3 in db.Table3 on t3.Id equals t1.FromUserID 
    where ((t1.FromUserID=1 && t2.ContentItemID= t1.ChangedItemID) || (t2.LastModifiedBy=1 or t2.CreatedBy=1)) 
    select t1).Distinct().ToList();