代码之家  ›  专栏  ›  技术社区  ›  TheCloudlessSky

总是从实体框架4查询中排除属性

  •  2
  • TheCloudlessSky  · 技术社区  · 14 年前

    我有一个用户实体,它具有映射到数据库中某个字段的以下属性:

    Id         int  
    Username   varchar(25)  
    Password   binary(64)   
    Salt       binary(64)   
    Name       varchar(50)  
    Locked     bit  
    

    每一个 查询。但对于某些查询,我确实希望能够检查密码( from u in db.Users where u.Password == password select u )或设置密码/盐字段。我不要128B 总是 在不需要的时候越过电线。

    .

    1 回复  |  直到 14 年前
        1
  •  3
  •   Justin Niessner    14 年前

    创建一个用户存储库,该存储库使用POCO来存储不带密码和Salt字段的用户。

    存储库负责调用实体框架并用其数据填充POCO。

    namespace MyCompany.Data.Repositories
    {
        public class User
        {
            public int Id { get; set; }
            public string Username { get; set; }
            public string Name { get; set; }
            public bool Locked { get; private set; }
        }
    
        public class UserRepository
        {
            public User GetAll() { }
            public User GetById() { }
    
            // Add your check password method here
        }
    }