首页 新闻 搜索 专区 学院

dbContext里面的dbset<TEntity>属性的多少 能对系统造成性能影响吗?

0
悬赏园豆:5 [已解决问题] 解决于 2014-12-03 16:35

直接贴代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

using System.Data.Entity;
using TemplateTest1.Models;

namespace TemplateTest1
{
    public class EFContext : DbContext
    {
        public EFContext()
            : base("Default")
        {
            
        }
        
        public DbSet<AdGroupAdPositions> AdGroupAdPositions { get; set; }
        public DbSet<CompanyAddresses> CompanyAddresses { get; set; }
        public DbSet<AdPositions> AdPositions { get; set; }
        public DbSet<CompanyContacts> CompanyContacts { get; set; }
        //还有很多属性
    }
}

上述代码是我用T4模板生成的,里面还有很多public DbSet<> 属性。

但是我只用到了上面四个,其它都没用到,请问如果我保留其它的属性,会对性能有影响吗?

问题补充:

就是实例化dbcontext的时候,10个dbset跟100个dbset有没有明显的区别?

屌丝大叔的笔记的主页 屌丝大叔的笔记 | 初学一级 | 园豆:13
提问于:2014-12-03 10:12
< >
分享
最佳答案
0

你知道什么是性能吗?

收获园豆:5
爱编程的大叔 | 高人七级 |园豆:30663 | 2014-12-03 10:14

大叔都9000分了.我才4000分.

吴瑞祥 | 园豆:28820 (高人七级) | 2014-12-03 10:36

@苏本东: 不要太在意....就以你的问题来说.你为什么会有你上面的问题?

吴瑞祥 | 园豆:28820 (高人七级) | 2014-12-03 10:37

@吴瑞祥: 是这样的,我们的系统有100多张表,但是我负责的模块只涉及到最多10张表,我用T4模板生成context的时候,100多张表都生成了。但我用不到那么多,在context实例化的时候,其它用不着的属性会在实例化时对性能有影响没?

屌丝大叔的笔记 | 园豆:13 (初学一级) | 2014-12-03 10:43

@苏本东: 属性就是方法.这个事情知道吧?

你多定义了几个方法,在不调用的时候会影响性能吗?

吴瑞祥 | 园豆:28820 (高人七级) | 2014-12-03 10:48

@苏本东: 答案是会,但是没有关系,也可能有关系。

因为通常你在其他地方随随便便损失的性能已经远远大于这个了。

比如这么说吧,富士康帮苹果造IPHONE,收4美元加工费,如果他只收3美元,

性能提高25%,有屁用。IPhone还是不会降价的。

而且你这个估计还没有25%,充其量损失了十万分之一。因为类里面多了一个属性,所以内存占用就多了一点点,所以性能就影响了一点点,你要让我说完全不会,那是撒谎,可你要说会,

我只能说你还要多读书。瑞祥的回答也说明了。

在整个性能链条里面,根本就一点水花都看不见。

别告诉我你这个访问是亿万级的,这不科学。

 

我的观点是,有一堆的代码到处在损害性能,却在这种细枝末节上计较。

看了你的补充回答,不是完全什么都不懂的新手,没有明白你为什么还会在这上面Care.

 

你如果有做过成本核算方面的工作,就应该知道,有些成本就算是零也于事无补,因为那个成本根本不影响(基本不影响)整体成本。

爱编程的大叔 | 园豆:30663 (高人七级) | 2014-12-03 10:54

@吴瑞祥: 好的,多谢。我也觉得不会。但我们总监说会,然后我就以为我有考虑不到的方面,所以出来提问。

屌丝大叔的笔记 | 园豆:13 (初学一级) | 2014-12-03 11:05

@爱编程的大叔: --!  受教。是要多读书。不对,应该是多学习。

屌丝大叔的笔记 | 园豆:13 (初学一级) | 2014-12-03 11:12

@爱编程的大叔: 受教了,有时候做开发的时候,确实需要一些商业方面的意识,如商业成本核算。

jimcsharp | 园豆:244 (菜鸟二级) | 2015-02-24 15:17
其他回答(3)
0

不会

新麦穗 | 园豆:82 (初学一级) | 2014-12-03 10:31
0

看你要 忽略不计还是斤斤计较呗

Yu | 园豆:12944 (专家六级) | 2014-12-03 13:17
0

没影响,嫌多的话,干脆一个不要, 在初始化时把model和ef进行绑定OnModelCreating..DbModelBuilder。

后面用的话直接   db.Set<Model>()来获取

Qlin | 园豆:2403 (老鸟四级) | 2014-12-03 15:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册