我有一个包含用户和角色的数据库。表Users表示每个用户绑定到一个角色(一个且只有一个)时对表角色的引用。 当我使用linq检索用户时,字段“role”在数据网格中显示为整数(这是表Roles的主键)。但是,我想将用户的字段Role替换为Role表的实际Name字段。关于如何做的任何想法?
datacontext的代码现在是默认代码,我应该使用什么linq查询来获取我需要的内容?
public IQueryable<Usuarios> GetUsuarios()
{
return this.ObjectContext.Usuarios;
}
答案 0 :(得分:1)
执行此操作的规范方法是为数据网格设置特定于视图的模型,并使用LINQ选择特定于视图的模型。我的例子假设LINQ to SQL。
public IEnumerable<UserWithRoles> GetUsersWithRoles()
{
return this.ObjectContext
.Users
.Select( u => new UserWithRole { Name = u.Name, ..., Role = u.Roles.First().Name } );
}
答案 1 :(得分:0)
这样做是为了尽早将角色绑定到用户:
return this.ObjectContext.Usuarios.Include("Roles");