Hyperlink 链接到sql查询(我只需要查询中rolename by roleid,而不需要整个查询中的所有其他对象) 方法:1 var rolename=来自数据库中的r.Roles 其中r.Id==model.RoleId 选择r.名称; 方法:2 var rolename=db.Roles.Where(r=>r.Id==model.RoleId).FirstOrDefault(); 方法:3 var roleStore=新roleStore(db); var roleManager=新roleManager(roleStore); var rolename=rolemager.FindById(model.RoleId);

Hyperlink 链接到sql查询(我只需要查询中rolename by roleid,而不需要整个查询中的所有其他对象) 方法:1 var rolename=来自数据库中的r.Roles 其中r.Id==model.RoleId 选择r.名称; 方法:2 var rolename=db.Roles.Where(r=>r.Id==model.RoleId).FirstOrDefault(); 方法:3 var roleStore=新roleStore(db); var roleManager=新roleManager(roleStore); var rolename=rolemager.FindById(model.RoleId);,hyperlink,asp.net-mvc-5,Hyperlink,Asp.net Mvc 5,“我只想要rolename。请告诉我其他的正确方法。” 这将返回与where条件匹配的名称集合。rolename的类型将是IEnumerable,假设Name的类型是string。如果只需要一条记录(第一条与条件匹配),可以调用FirstOrDefault()方法 var rolename= from r in db.Roles where r.Id == model.RoleId select r.Name; 或者可以对字符串集合执行FirstOrDefault()。

“我只想要rolename。请告诉我其他的正确方法。”

这将返回与where条件匹配的名称集合。rolename的类型将是
IEnumerable
,假设Name的类型是string。如果只需要一条记录(第一条与条件匹配),可以调用
FirstOrDefault()
方法

var rolename= from r in db.Roles
      where r.Id == model.RoleId
      select r.Name;
或者可以对字符串集合执行FirstOrDefault()。这将返回字符串类型的默认值,即
null

string roleName=string.empty;
var firstRole= (from r in db.Roles
      where r.Id == model.RoleId).FirstOrDefault();
if(firstRole!=null
{
   roleName = firstRole;
}
对于方法2,您正在角色集合上调用
FirstOrDefault()
,该集合将提供一个
Role
对象。您需要从中读取
Name
属性

如果没有与where条件匹配的记录,
FirstOrDefault()
将返回null。因此,请确保在访问Name属性之前执行空检查

var rolename= (from r in db.Roles
                 where r.Id == model.RoleId select r.Name).FirstOrDefault()
在这里,您还可以执行
Select(d=>d.Name).FirstOrDefault()
,就像我们对方法1所做的那样

两者都是正确的方法。选择你和你的团队喜欢的

var rolename= (from r in db.Roles
                 where r.Id == model.RoleId select r.Name).FirstOrDefault()
var roleName=string.empty;
var role= db.Roles.Where(r => r.Id == model.RoleId).FirstOrDefault();
if(role!=null)
{
  roleName=role.Name;
}