如何为linq查询分配角色
本文关键字:分配 角色 查询 linq | 更新日期: 2023-09-27 17:51:02
我试图区分下面两个查询之间的用户。我在db服务器中没有'rolename'字段,但我想知道是否可以将角色名称分组或分配给查询
这是我目前为其中一个查询提出的:
public class User : iUser
{
private cd db;
public User()
{
db = new cd();
}
public User(cd context)
{
db = context;
}
public string Role { get; set; }
public UserDetail trial(string username, string password)
{
string[] role = new string[] { "trial"};
var query = (from s in db.Subs
join u in db.UserDetails on s.sUID equals u.uID
where s.sExpiryDate >= DateTime.Now &&
u.uUsername == username &&
u.uPassword == password
select u).FirstOrDefault();
if (query != null)
{
// Build a user and add the appropriate Trial role
return new UserDetail() { query.uUsername = username, query.uPassword = password, Role = "Trial" };
}
else
{
// No user was found
return null;
}
}
}
UserDetail类:
public partial class UserDetail
{
public UserDetail()
{
this.Subs = new HashSet<Subs>();
this.Trial = new HashSet<Trial_Try>();
}
public int uID { get; set; }
public string uUsername { get; set; }
public string uPassword { get; set; }
}
目前,我正在经历以下字段用户名,密码和角色编译错误。错误——"UserDetail不包含用户名、密码和角色的定义。"
我不确定这是否是正确的方法,如果有人能在这个问题上给我建议,我将非常感激。
期望的输出,我正在从这个方法中寻找,如果我想能够使用这个查询来测试,对于特定的角色名称(例如试用),只有匹配试用查询的用户才能访问某些信息/页面。
看起来你只是在初始化中反向赋值:
// Build a user and add the appropriate Trial role
return new UserDetail() {
uUsername = query.uUsername,
uPassword = query.uPassword,
Role = "Trial" };
但是如果没有看到UserDetail
的定义,很难确定。
编辑
好吧,我现在看到的问题-不,你不能动态地添加属性到UserDetail
类。您可以添加一个类定义(只是不映射到DB)或创建另一个类与Role
属性,并以某种方式链接到UserDetail
,但您不能简单地添加这样的属性。