C# 如何为linq查询分配角色

C# 如何为linq查询分配角色,c#,asp.net-mvc,linq,linq-to-sql,C#,Asp.net Mvc,Linq,Linq To Sql,我正在尝试区分下面两个查询的用户。我在db服务器中没有“rolename”字段,但我想知道是否可以将角色名称分组或分配给查询 这是我目前针对其中一个查询得出的结论: public class User : iUser { private cd db; public User() { db = new cd(); } public User(cd context) { db = context; }

我正在尝试区分下面两个查询的用户。我在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
{
公共用户详细信息()
{
this.Subs=newhashset();
this.Trial=newhashset();
}
公共int-uID{get;set;}
公共字符串uUsername{get;set;}
公共字符串uPassword{get;set;}
}
目前,我遇到以下字段的编译错误:用户名、密码和角色。错误--“UserDetail不包含用户名、密码和角色的定义。”

我不确定这是否是正确的方法,如果有人能就此问题向我提供建议,我将不胜感激


如果我希望能够使用此查询来测试特定角色名称(例如试用),则我正在从该方法中寻找的desire输出,只有与试用查询匹配的用户才能访问特定信息/页面

看起来您只是在初始化中向后分配了任务:

// Build a user and add the appropriate Trial role
return new UserDetail() {
    uUsername = query.uUsername, 
    uPassword = query.uPassword, 
    Role = "Trial" };
但是如果没有看到
UserDetail
的定义,就很难确定

编辑


好的,我现在看到问题了-不,您不能向
UserDetail
类动态添加属性。您可以将一个类添加到类定义中(只是不将其映射到DB),也可以使用
角色
属性创建另一个类,并以某种方式将其链接到
用户详细信息
,但您不能简单地添加这样的属性。

什么意思是“代码无法找到用户名、密码和角色的定义”?这些字段是在数据库表中定义的吗?你犯了什么错误?请提供尽可能多的详细信息。抱歉造成混淆,我已编辑并更新了我的原始帖子,以获取您要求的更多详细信息。UserDetail是一个模型数据类,它包含uUsername和uPassword字段。非常感谢您的回复和帮助。非常感谢进一步的帮助。类定义中的“角色”属性在哪里?我已经发布了带有角色属性的用户类的更新版本。这是正确的吗。非常感谢您的帮助。我不太愿意构建您自己的身份验证/授权系统,建议您研究身份/声明模型。自己滚动会让你很快陷入麻烦。例如,我不认为“审判”是一个角色,而是一个“iTrie=真”的说法。角色通常是用户可以加入的分组列表。非常感谢您的回复。我以前尝试过将赋值语句更改为--query.uUsername=username。但是,这会产生“无效初始值设定项成员声明符”错误。我很高兴发布我的UserDetail类以供进一步参考。非常感谢你的帮助和时间。