Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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
Entity framework 实体框架中的代码清理_Entity Framework_Optimization - Fatal编程技术网

Entity framework 实体框架中的代码清理

Entity framework 实体框架中的代码清理,entity-framework,optimization,Entity Framework,Optimization,这完全是一个意见问题。但这也可能是我这边关于愚蠢的问题。这两方面都很好。但我想知道人们是怎么想的 public IQueryable<User> Users { get { return context.Users; } } 这是我的存储库中另一个函数的示例。在这里,我使用context.Users。 我不妨这样写 public User GetUserById(int userId) {

这完全是一个意见问题。但这也可能是我这边关于愚蠢的问题。这两方面都很好。但我想知道人们是怎么想的

    public IQueryable<User> Users {
        get {
            return context.Users;
        }
    }
这是我的存储库中另一个函数的示例。在这里,我使用context.Users。 我不妨这样写

    public User GetUserById(int userId) {
        return Users.FirstOrDefault(u => u.UserId == userId);
    }

我想使用最后一个,因为代码看起来更干净。但这会对表演产生任何影响吗?!这可能是个愚蠢的问题。。。但我对处理每一个小细节都很重要的大项目还是有点陌生。(我知道实体框架可能是错误的选择,但这不是我的要求)

您似乎在描述消费代码和实体框架之间的一层间接/抽象。我认为这是件好事。实际上,我修改了T4 POCO模板,以自动生成#1中的内容,并生成一个只返回IQueryables的接口

现在很多现代的ORM都提供LINQ支持……很高兴知道,代码的其余部分不必知道它在与什么ORM通信……以防您决定在某个时候离开实体框架


回答你关于绩效的问题:不,我认为这不会对绩效产生负面影响。编译后的代码中会生成一些额外的CIL语句,但仅此而已。

您似乎在描述消费代码和实体框架之间的一层间接/抽象。我认为这是件好事。实际上,我修改了T4 POCO模板,以自动生成#1中的内容,并生成一个只返回IQueryables的接口

现在很多现代的ORM都提供LINQ支持……很高兴知道,代码的其余部分不必知道它在与什么ORM通信……以防您决定在某个时候离开实体框架


回答你关于绩效的问题:不,我认为这不会对绩效产生负面影响。编译后的代码中会生成一些额外的CIL语句,但仅此而已。

“prestanda”=“performance”?是的。“普雷斯坦达”=“性能”?(为糟糕的英语“prestanda”=“performance”?)抱歉是的。“prestanda”=“performance”?(为糟糕的英语抱歉谢谢你的评论,我没想到那本身就是一件好事。谢谢你的评论,我没想到那件事。那本身就是一件好事。
    public User GetUserById(int userId) {
        return Users.FirstOrDefault(u => u.UserId == userId);
    }