区块链技术博客
www.b2bchain.cn

由于存在大量数据,C#构建需要很长时间 – c#程序员分享

本文介绍了由于存在大量数据,C#构建需要很长时间 – c#程序员分享,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

我有一个包含三个项目的解决方案。其中一个项目需要很长时间才能构建,我将其范围缩小到了初始化数据,尤其是一大批郊区对象。

以下是APISuburbInitialiser类,但尤其是郊区数组-这是问题所在:

using JobsLedger.API.InitalisationData.Interfaces; using JobsLedger.DATA; using JobsLedger.DATA.Entities; using System.Linq;  namespace JobsLedger.API.InitalisationData {     public class APISuburbInitialiser : IAPISuburbInitialiser {         public void InitialiseStaInitialiseStatesAndSuburbs(APIDbContext context) {             InitialiseStates(context);             InitialiseSuburbs(context);         }          private void InitialiseStates(APIDbContext context) {             // Look for any students.             if (context.States.Any()) {                 return; //DB table data already created.             }              var states = new State[]             {                 new State { StateName = "New South Wales", StateShortName = "NSW" },                 new State { StateName = "Victoria", StateShortName = "VIC" },                 new State { StateName = "Queensland", StateShortName = "QLD" },                 new State { StateName = "South Australia", StateShortName = "SA" },                 new State { StateName = "Western Australia", StateShortName = "WA" },                 new State { StateName = "Tasmania", StateShortName = "TAS" },                 new State { StateName = "Nothern Territory", StateShortName = "NT" },                 new State { StateName = "Australian Captial Territory", StateShortName = "ACT" }             };              foreach (State s in states) {                 context.States.Add(s);             }              context.SaveChanges();         }          private void InitialiseSuburbs(APIDbContext context) {              // Look for any suburbs.             if (context.Suburbs.Any()) {                 return; //DB table data already created.             }              // Upgraded due to database arbritarily assigning Id keys to  states in different order.             var stateID = context.States.FirstOrDefault(s => s.StateShortName == "ACT").Id;              var suburbs = new Suburb[] {                 new Suburb { PostCode = "200", SuburbName = "Australian National University", StateId = stateID, Latitude = -35.2777, Longditude = 149.1189 },                 new Suburb { PostCode = "221", SuburbName = "Barton", StateId = stateID, Latitude = -35.3049, Longditude = 149.14124 },                 new Suburb { PostCode = "2540", SuburbName = "Hmas Creswell", StateId = stateID, Latitude = -35.028, Longditude = 150.55013 },                 new Suburb { PostCode = "2540", SuburbName = "Jervis Bay", StateId = stateID, Latitude = -35.028, Longditude = 150.55014 },                 new Suburb { PostCode = "2540", SuburbName = "Wreck Bay", StateId = stateID, Latitude = -35.0169, Longditude = 150.63193 },                 new Suburb { PostCode = "2600", SuburbName = "Duntroon", StateId = stateID, Latitude = -35.3, Longditude = 149.16674 },                 new Suburb { PostCode = "2600", SuburbName = "Russell", StateId = stateID, Latitude = -35.2977, Longditude = 149.1514 },                 new Suburb { PostCode = "2600", SuburbName = "Harman", StateId = stateID, Latitude = -35.3053, Longditude = 149.13654 },                 new Suburb { PostCode = "2600", SuburbName = "Hmas Harman", StateId = stateID, Latitude = -35.31, Longditude = 149.13853 },                 new Suburb { PostCode = "2600", SuburbName = "Deakin", StateId = stateID, Latitude = -35.3193, Longditude = 149.10314 },                 new Suburb { PostCode = "2600", SuburbName = "Parliament House", StateId = stateID, Latitude = -35.3126, Longditude = 149.12783 },                 new Suburb { PostCode = "2600", SuburbName = "Yarralumla", StateId = stateID, Latitude = -35.2998, Longditude = 149.10584 },                     ... 

郊区如下:

using JobsLedger.CATALOG.Entities.Interfaces; using System.Collections.Generic;  namespace JobsLedger.CATALOG.Entities {     public class Suburb : IEntityBase     {         public Suburb()         {             Tenants = new List<Tenant>();             Users = new List<User>();         }          public int Id { get; set; }         public string SuburbName { get; set; }         public string PostCode { get; set; }          public double Latitude { get; set; }         public double Longditude { get; set; }          // One state to many suburbs         public int StateId { get;  set; }         public State State { get; set; }           public virtual ICollection<Tenant> Tenants { get; set; }         public virtual ICollection<User> Users { get; set; }     } } 

有16000个奇怪的郊区,我使用此数组在数据库中填充了所有郊区的表。

我刚刚发现的是,这一系列的郊区(以及另一个初始化类中的1000个客户)使该项目的构建花费了很长时间-实际上是几分钟。取消这些课程,构建几乎不需要时间。

有没有一种方法可以在项目中使用它(或在运行时以另一种方式加载此数据),以免导致构建花费几分钟。

更新

我最初选择创建两个新项目-一个用于Initializations(供所有数据库使用-它是一个租户的系统),另一个用于testdata-仅针对一个数据库。然后,我进一步创建了另一个授权项目。这样,我可以消除所有其他项目(或其中一些项目)正在访问的那些代码部分,并使它们停滞不前,需要一个构建。这样做确实有助于我了解项目之间的依赖关系工作方式。

c#大神给出的解决方案

将郊区init移到另一个项目中。然后将对其进行一次编译,但并非每次您对其他项目进行更改时都将进行编译。
或将邮政编码/名称信息移到资源文件中。在启动时阅读它,这应该使其构建更快。

我正在使用Retrofit来获取JSON答复。这是我实施的一部分("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

我想将python scikit-learn模型导出到PMML。哪个python软件包最合适?我阅读了有关Augustus的内容,但是我无法使用scikit-learn模型找到任何示例。 python大神给出的解决方案 SkLearn2PMML是 JPMML-SkLearn命令行应用程序周围的薄包装。有关受支持的Scikit-Learn Estimator和…

我是Visual Studio Code的新手。我正在尝试将其与使用Maven的现有Java Web应用程序项目一起使用。我已经下载了推荐的Java扩展,例如Java Extension Pack,Java Maven和Java Tomcat。在IntelliJ(我通常的IDE)中,我可以很快地从Java的少量编辑转到Tomcat中刷新的WAR。如果我编辑文…

在Python3和熊猫中,我具有数据框:df_projetos_api_final.info() <class 'pandas.core.frame.DataFrame'> Int64Index: 93631 entries, 1 to 93667 Data columns (total 21 columns): AnoMat…

我们已经有在Spring MVC上用Java编写的REST Web服务,我一直在尝试保护它们。OAuth服务器是在另一个处理访问令牌登录和创建的网站中实现的。因此,在向用户授予对Web服务的访问权限之前,我需要验证访问令牌是否正确。但是,带有OAuth的Spring Security的文档似乎真的很差,并且示例代码实际上并未解释其作用!我什至不确定是否应该为…

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 由于存在大量数据,C#构建需要很长时间 – c#程序员分享
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们