2016-05-16 6 views
0

私はたくさんのデータを生成する必要があるため、私のデータベースをFaker.netにシードしようとしていますが、電話番号を11個だけ長くするように設定できますか?シードデータベースの設定最大長

var addresses = Builder<deliveryAddress>.CreateListOfSize(40) 
       .All() 
      .With(c => c.FirstName = Faker.Name.First()) 
      .With(c => c.LastName = Faker.Name.Last()) 
      .With(c => c.Address = Faker.Address.StreetAddress()) 
      .With(c => c.City = Faker.Address.City()) 
      .With(c => c.Country = Faker.Address.UkCountry()) 
      .With(c => c.PostalCode = Faker.Address.UkPostCode()) 
      .With(c => c.Mobile = Faker.Phone.Number().) 
      .With(c => c.Phone = Faker.Phone.Number()) 
       .Build(); 

      context.deliveryAddresses.AddOrUpdate(c => c.AdressId, addresses.ToArray()); 

答えて

0

文字列の文字列を制限する文字列を使用します。

Ex。 String.Format( "{0:(###)### - ####}"、9912345678);

This will output "(991) 234-5678". 

あるいはまた、あなたは試すことができます:

のconst int型のMaxLength = 11; var name = "123456791";

(name.Length>のMaxLength)

name = name.Substring(0, MaxLength); // name = "12345678910" 

又はこのtrikを参照している場合。

+0

私はそれを行うために示したコードをどのように編集するのですか? faker.phone.number()? @Jaimesh –

+0

int length = 11; (c => c.Mobile = Faker.Phone.Number.PadLeft(length、 '0'));そうではありませんが、これを試してください。 – Jaimesh

+0

解決されませんでしたが、修正するためにすべてのメソッドを試しましたが、クラスでの検証が変更されました。 –

1

Faker.NETソースコードに基づいて、Faker.Phone.Number()はパラメータを取ることができます。 "###-####-#####"のようなパターン文字列をパラメータとしてFaker.Phone.Number(string pattern)に渡すことができます。

電話で質問をしましたが、テストする機会がありませんでした。