2014-03-19 56 views
0

我想區分下面兩個查詢之間的用戶。我在數據庫服務器中沒有「角色名稱」字段,但是我想知道是否可以將角色名稱分組或分配給查詢如何將角色分配給linq查詢

這是我目前爲其中一個查詢提出的:

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不包含用戶名,密碼和角色的定義。」

我不確定這是否是正確的方法,如果有人可以告訴我,在這個問題上,將非常感激。

慾望輸出,我從這個方法尋找,如果我希望能夠使用這個查詢來測試特定角色名稱(例如試用版),只有與試用查詢匹配的用戶才能訪問某些信息/頁面。

+1

你是什麼意思「代碼無法找到用戶名,密碼和角色的定義」?這些字段是否在數據庫表中定義?你遇到了什麼錯誤 ?請儘可能詳細地提供。 –

+0

道歉的困惑,我已編輯和更新我原來的帖子,以獲得更多細節,你已經要求。 UserDetail是模型數據類,它包含uUsername和uPassword字段。非常感謝您的迴應和幫助。進一步幫助非常感謝。 – user3070072

+0

類定義中的「角色」屬性在哪裏? –

回答

0

看起來你只是有分配向後初始化:

// Build a user and add the appropriate Trial role 
return new UserDetail() { 
    uUsername = query.uUsername, 
    uPassword = query.uPassword, 
    Role = "Trial" }; 

但沒有看到的UserDetail定義很難知道。

編輯

好吧,我現在看到的問題 - 不,你不能動態屬性添加到UserDetail類。您可以爲類定義添加一個(並且不會將其映射到數據庫),或者使用Role屬性創建另一個類,並以某種方式將其鏈接到UserDetail,但不能簡單地添加這樣的屬性。

+0

非常感謝您的回覆。我曾嘗試將賦值語句更改爲此 - query.uUsername = username。但是,這給出了「無效的初始化成員聲明符」錯誤。我很高興發佈我的UserDetail類以供進一步參考。非常感謝您的幫助和時間。 – user3070072

+0

非常感謝你澄清這一點。 – user3070072

相關問題