C# 类型为';System.ArgumentOutOfRangeException';在mscorlib.dll中发生,但未在用户代码中处理

C# 类型为';System.ArgumentOutOfRangeException';在mscorlib.dll中发生,但未在用户代码中处理,c#,asp.net-mvc-4,console-application,C#,Asp.net Mvc 4,Console Application,我有一个控制台应用程序,它在数据库上生成一组假数据/信息以供测试 public List<LCS_ExchangeDataStaging> GenerateNewData(int count) { var newData = new List<LCS_ExchangeDataStaging>(); var random = new Random(); v

我有一个控制台应用程序,它在数据库上生成一组假数据/信息以供测试

public List<LCS_ExchangeDataStaging> GenerateNewData(int count)
            {
                var newData = new List<LCS_ExchangeDataStaging>();
                var random = new Random();
                var branches = new LCSBranchContext().GetAllBranches();
                var schemeIds = new LCSSchemePortfolioContext().SchemePortfolios();

            var branchCount = branches.Count - 1;
            var schemeCount = schemeIds.Count - 1;

            Parallel.For(1, count + 1, i =>
            {
                int gender = random.Next(0, 1);

                var data = new LCS_ExchangeDataStaging
                {
                    AccountNumber = (3000000000 + random.Next(999999999)).ToString(),
                    AccountStatement = random.Next(),
                    Address = Faker.Address.StreetAddress(),
                    AddressOfKeyContact = Faker.Address.StreetAddress(),
                    Age = RandomDate(DateTime.Now.AddYears(-70), DateTime.Now.AddYears(-18), random),
                    AmountDisbursed = Faker.RandomNumber.Next(20000000),
                    AmountOverdue = Faker.RandomNumber.Next(1000000),
                    BranchName = branches[random.Next(branchCount)].Name,
                    ClientId = $"R{(Faker.RandomNumber.Next(99999999) + 200000000).ToString()}",
                    ClientName = gender == 0 ? NameGenerator.Generate(Gender.Male) : NameGenerator.Generate(Gender.Female),
                    CompaniesMandate = "",
                    DateOfIncorporation = RandomDate(DateTime.Now.AddYears(-70), DateTime.Now, random),
                    DaysPastDue = 1,
                    DisbursmentDate = RandomDate(DateTime.Now.AddYears(-3), DateTime.Now, random),
                    Email = Faker.Internet.Email(),
                    EmergencyContact = Faker.Name.FullName(),
                    EmployeeContact = Faker.Name.FullName(),
                    EmployeeContactTelePhone = Faker.Phone.Number(),
                    EmployerAddress = Faker.Address.StreetAddress(),
                    EmployerName = Faker.Company.Name(),
                    EmployerTelephone = Faker.Phone.Number(),
                    ExpiryDate = RandomDate(DateTime.Now.AddYears(1), DateTime.Now.AddYears(7), random),
                    FeesOverdue = Faker.RandomNumber.Next(2000),
                    Gender = gender == 0 ? "M" : "F",
                    GuarantorAddress = Faker.Address.StreetAddress(),
                    GuarantorName = Faker.Name.FullName(),
                    GuarantorTelephone = Faker.Phone.Number(),
                    Income = random.Next(50000, 1000000),
                    InsuranceCompany = Faker.Company.Name(),
                    InsuredAmount = Faker.RandomNumber.Next(2000),
                    InterestRate = random.Next(3, 24),
                    IntrducerAddress = Faker.Address.StreetAddress(),
                    IntrestOverdue = Faker.RandomNumber.Next(2000),
                    IntroducerName = Faker.Name.FullName(),
                    IntroducerTelephone = Faker.Phone.Number(),
                    KeyContactPerson = Faker.Name.FullName(),
                    LastCrAmount = Faker.RandomNumber.Next(20000),
                    LastCrDate = RandomDate(DateTime.Now.AddYears(-1), DateTime.Now, random),
                    LienAmount = Faker.RandomNumber.Next(2000),
                    LoanRestructured = "No",
                    MissedPayin24MonthCount = random.Next(0, 15),
                    MonthlyInflow = Faker.RandomNumber.Next(1000000),
                    OperativeAccountNumber = $"01{random.Next(99999999)}",
                    OutstandingPrincipal = Faker.RandomNumber.Next(200000),
                    PenalChargeDue = Faker.RandomNumber.Next(2000),
                    PrincipalOverdue = Faker.RandomNumber.Next(2000),
                    ProductCategory = "",
                    ProductType = "LAA",
                    RelationshipYears = random.Next(0, 40),
                    RepaymentAmount = Faker.RandomNumber.Next(2000),
                    ReturnedChequeIn6MonthCount = random.Next(0, 3),
                    SchemeID = schemeIds[random.Next(schemeCount)].SchemeCode,
                    Telephone1 = Faker.Phone.Number(),
                    Telephone2 = Faker.Phone.Number(),
                    TelephoneOfKeyContact = Faker.Phone.Number(),
                    Tenor = random.Next(3, 124).ToString(),
                };

                newData.Add(data);
            });

            return newData;
        }
public List GenerateNewData(整数计数)
{
var newData=newlist();
var random=新的random();
var branchs=new LCSBranchContext().getAllBranchs();
var schemeIds=new LCSSchemePortfolioContext().SchemePortfolios();
var branchCount=branchs.Count-1;
var schemeCount=schemeIds.Count-1;
对于(1,count+1,i=>
{
int-gender=random.Next(0,1);
var数据=新的LCS\U交换数据
{
AccountNumber=(30000000+random.Next(99999999)).ToString(),
AccountStatement=random.Next(),
Address=Faker.Address.StreetAddress(),
AddressOfKeyContact=Faker.Address.StreetAddress(),
年龄=随机日期(DateTime.Now.AddYears(-70),DateTime.Now.AddYears(-18),随机),
支付金额=伪造随机数下一个(20000000),
AmonToverdue=Faker.RandomNumber.Next(1000000),
BranchName=分支[random.Next(branchCount)].Name,
ClientId=$“R{(Faker.RandomNumber.Next(999999999)+20000000.ToString()}”,
ClientName=gender==0?NameGenerator.Generate(gender.Male):NameGenerator.Generate(gender.Male),
公司授权:”,
DateOfIncorporation=RandomDate(DateTime.Now.AddYears(-70),DateTime.Now,random),
DaysPastDue=1,
支出日期=随机日期(DateTime.Now.AddYears(-3),DateTime.Now,random),
Email=Faker.Internet.Email(),
EmergencyContact=Faker.Name.FullName(),
EmployeeContact=Faker.Name.FullName(),
EmployeeContactTelePhone=Faker.Phone.Number(),
EmployeerAddress=Faker.Address.StreetAddress(),
EmployerName=Faker.Company.Name(),
EmployerTelephone=Faker.Phone.Number(),
expireydate=RandomDate(DateTime.Now.AddYears(1),DateTime.Now.AddYears(7),random),
FeesOverdue=Faker.RandomNumber.Next(2000),
性别=性别==0?“M”:“F”,
GuarantoradAddress=Faker.Address.StreetAddress(),
GuarantorName=Faker.Name.FullName(),
GuarantorTelephone=Faker.Phone.Number(),
收入=随机。下一个(50000,1000000),
InsuranceCompany=Faker.Company.Name(),
保险金额=伪造随机数。下一个(2000),
利率=随机。下一步(3,24),
IntrducerAddress=Faker.Address.StreetAddress(),
IntrestOversed=Faker.RandomNumber.Next(2000),
介绍人姓名=Faker.Name.FullName(),
IntroductCertElephone=Faker.Phone.Number(),
KeyContactPerson=Faker.Name.FullName(),
LastCrAmount=Faker.RandomNumber.Next(20000),
LastCrDate=RandomDate(DateTime.Now.AddYears(-1),DateTime.Now,random),
LienAmount=伪造随机数。下一个(2000),
loanrestructed=“否”,
MissedPayin24个月计数=随机。下一步(0,15),
monthlynflow=Faker.RandomNumber.Next(1000000),
OperationAccountNumber=$“01{random.Next(99999999)}”,
未偿本金=伪造者随机数下一个(200000),
罚金=伪造者。随机数。下一个(2000),
PrincipalOverdue=Faker.RandomNumber.Next(2000),
ProductCategory=“”,
ProductType=“LAA”,
关系年=随机。下一个(0,40),
还款金额=伪造的随机数。下一个(2000年),
ReturnedChequeIn6MonthCount=random.Next(0,3),
SchemeID=schemeIds[random.Next(schemeCount)].SchemeCode,
电话1=Faker.Phone.Number(),
电话2=Faker.Phone.Number(),
TelephoneOfKeyContact=Faker.Phone.Number(),
Tenor=random.Next(31224).ToString(),
};
newData.Add(数据);
});
返回新数据;
}
但是,当方法GenerateNewData运行时,我得到了这个异常

mscorlib.dll中发生“System.ArgumentOutOfRangeException”类型的异常,但未在用户代码中处理该异常

其他信息:“maxValue”必须大于零。

System.ArgumentOutOfRangeException was unhandled by user code
  HResult=-2146233086
  Message='maxValue' must be greater than zero.
Parameter name: maxValue
  ParamName=maxValue
  Source=mscorlib
  StackTrace:
       at System.Random.Next(Int32 maxValue)
       at RLCS.Tasks.Data.DataGenerator.<>c__DisplayClass1_0.<GenerateNewData>b__0(Int32 i) in C:\Users\Solution Architect\Documents\WORK\lcs\lcs\RLCS.Tasks\Data\DataGenerator.cs:line 50
       at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1()
  InnerException:
System.ArgumentOutOfRangeException未由用户代码处理
HResult=-2146233086
Message='maxValue'必须大于零。
参数名称:maxValue
ParamName=maxValue
Source=mscorlib
堆栈跟踪:
at System.Random.Next(Int32最大值)
在RLCS.Tasks.Data.DataGenerator.c__中显示c:\Users\Solution Architect\Documents\WORK\lcs\lcs\RLCS.Tasks\Data\DataGenerator.cs中的Class1_0.b_0(Int32 i):第50行
在System.Threading.Tasks.Parallel.c__uDisplayClass17_0`1.b__u1()中
内部异常:
请提供您对此的任何建议。
谢谢如果不运行或查看所有代码,很难判断,但问题是您对
的一个调用是随机的。下一个(Int32 maxValue)
提供的
Int32 maxValue
值为0或更小。这将它缩小到下面的一行-

BranchName=branchs[random.Next(branchCount)]。名称,

SchemeID=schemeI