Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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# 始终从实体框架4查询中排除属性_C#_Linq_Entity Framework 4 - Fatal编程技术网

C# 始终从实体框架4查询中排除属性

C# 始终从实体框架4查询中排除属性,c#,linq,entity-framework-4,C#,Linq,Entity Framework 4,我有一个具有以下属性的用户实体,该属性映射到数据库中的字段: Id int Username varchar(25) Password binary(64) Salt binary(64) Name varchar(50) Locked bit 我不想做的是每次查询都返回密码和Salt。但对于某些查询,我确实希望能够检查密码(来自db.Users中的u.password==password select u)或

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

Id         int  
Username   varchar(25)  
Password   binary(64)   
Salt       binary(64)   
Name       varchar(50)  
Locked     bit  
我不想做的是每次查询都返回密码和Salt。但对于某些查询,我确实希望能够检查密码(
来自db.Users中的u.password==password select u
)或设置密码/盐字段。我不希望128B总是在不需要的时候通过电线


我尝试将属性的getter设置为private,但这阻止了我在LINQ中使用它。基本上,如果我可以将属性设置为始终延迟加载,那就太酷了。

创建一个用户存储库,使用POCO存储用户,而不使用密码和盐字段

存储库负责调用实体框架并用其数据填充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
    }
}

那么,自动生成的用户类会发生什么情况呢?@thecloudlessky-您在存储库类中使用它(并限制在其他地方使用)。问题是,我有两个用户类(尽管来自不同的名称空间)。这不是很麻烦吗?@thecloudlessky-当使用存储库时,消费者根本不需要访问EF生成的类。因此,他们应该只看到您的MyCompany.Data.Repositories.User类。