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