簡體   English   中英

Linq to sql查詢兩個表之間

[英]Linq to sql query between two tables

我有兩張桌子

表格:“角色”

Role_Id   Role_Name        Role Description
1         Administrator    Can mange everything
2         Ticket_Manager   Can manage tickets
3         Ticket_User      Can solve a ticket

表格:“用戶”

User_ ID    User_Name     User_Role(Foreign Key to Role table)
1           Harry         2

我的問題是,如果我知道User_Name(例如“ Harry”的角色),如何獲得Role_Name? 我需要linq到sql的代碼。

結果應該在字符串中,例如:

string s = (query);

string [] result = {s}; 返回結果;

我正在嘗試尋找2小時的解決方案,但沒有得到任何積極的結果

string result = (from r in (your db context).Role
            join u in (your db context).User on r.Role_ID equals u.User_Role
            where u.UserName.Equals("Harry")
            select r.Role_Name).Single<string>();

你是那個意思嗎

var username = "Harry";

var result = db.Users
    .Where(x => x.User_Name == username)
    .Select(x => x.Role.Role_Name)
    .Single()

您應該注意以下幾點

  1. 結果實際上是string類型。 這稱為隱式類型局部變量
  2. Single()假定只有一個結果。 您可能需要也可能不需要以下方法之一: Single()First()SingleOrDefault()FirstOrDefault() 關於差異的一篇很棒的文章是LINQ Single vs SingleOrDefault vs First vs FirstOrDefault

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM