Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按日期递减获取被禁止用户的列表_C#_Asp.net_Linq_Linq To Sql_Asp.net Membership - Fatal编程技术网

C# 按日期递减获取被禁止用户的列表

C# 按日期递减获取被禁止用户的列表,c#,asp.net,linq,linq-to-sql,asp.net-membership,C#,Asp.net,Linq,Linq To Sql,Asp.net Membership,我这样做是为了得到所有被阻止用户的列表: public IQueryable<Aspnet_User> GetBannedUsers() { return db.Aspnet_Memberships.Where(x => x.IsApproved == false).Select(x => x.Aspnet_User); } 我如何获得被禁止用户的名单,按他们被禁止的日期排序。 最近被禁止的日期应排在第一位。默认情况下,asp.net成员资格不存储此日期,因此您

我这样做是为了得到所有被阻止用户的列表:

public IQueryable<Aspnet_User> GetBannedUsers()
{
    return db.Aspnet_Memberships.Where(x => x.IsApproved == false).Select(x => x.Aspnet_User);
}
我如何获得被禁止用户的名单,按他们被禁止的日期排序。
最近被禁止的日期应排在第一位。

默认情况下,asp.net成员资格不存储此日期,因此您必须使用变通方法。一个简洁的方法是引入您自己的表,但我建议滥用LastLoginDate。只要用户未正确登录,默认机制将不会触及此日期!我的批准将防止这种情况发生

public IQueryable<Aspnet_User> GetBannedUsers()
{
    return db.Aspnet_Memberships
             .Where(x => x.IsApproved == false)
             .OrderByDescening(x => x.BannedDate) //adjust property here
             .Select(x => x.Aspnet_User);
}
修改代码以阻止用户:

MembershipUser user = Membership.GetUser(username);             
if (user != null)             
{                 
  user.IsApproved = isApproved;
  user.LastLoginDate = DateTime.Now;
  Membership.UpdateUser(user);             
}
在禁止日期排序的代码,复制粘贴自@Femaref的答案:

public IQueryable<Aspnet_User> GetBannedUsers()            
{ 
  return db.Aspnet_Memberships          
    .Where(x => x.IsApproved == false)                        
    .OrderByDescening(x => x.LastLoginDate) 
    .Select(x => x.Aspnet_User);
}

默认情况下,asp.net成员资格不存储此日期,因此您必须使用变通方法。一个简洁的方法是引入您自己的表,但我建议滥用LastLoginDate。只要用户未正确登录,默认机制将不会触及此日期!我的批准将防止这种情况发生

修改代码以阻止用户:

MembershipUser user = Membership.GetUser(username);             
if (user != null)             
{                 
  user.IsApproved = isApproved;
  user.LastLoginDate = DateTime.Now;
  Membership.UpdateUser(user);             
}
在禁止日期排序的代码,复制粘贴自@Femaref的答案:

public IQueryable<Aspnet_User> GetBannedUsers()            
{ 
  return db.Aspnet_Memberships          
    .Where(x => x.IsApproved == false)                        
    .OrderByDescening(x => x.LastLoginDate) 
    .Select(x => x.Aspnet_User);
}

我正在使用sql成员资格提供程序,那么我应该在哪里引入banneddate?我应该直接将其添加到表Aspnet_Memberships中吗?还是说,这种糟糕的做法会弄乱开箱即用的表?不知道,我以为这已经包括在内了?我将使用sql成员资格提供程序引入一个带有成员身份ID和BannedDate.im的新表,那么在哪里引入BannedDate呢?我应该直接将其添加到表Aspnet_Memberships中吗?还是说,这种糟糕的做法会弄乱开箱即用的表?不知道,我以为这已经包括在内了?我将引入一个新表,其中包含成员ID和BannedDate。