我有两张桌子
表:“角色”
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小时但没有得到任何积极的结果
答案 0 :(得分:0)
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>();
你的意思是这样吗?
答案 1 :(得分:0)
var username = "Harry";
var result = db.Users
.Where(x => x.User_Name == username)
.Select(x => x.Role.Role_Name)
.Single()
您应该注意以下内容
string
类型。这称为Implicitly Typed Local Variable Single()
假设只有一个结果。您可能需要也可能不需要以下方法之一:Single()
,First()
,SingleOrDefault()
,FirstOrDefault()
。关于差异的一篇很棒的文章是LINQ Single vs SingleOrDefault vs First vs FirstOrDefault