2016-11-21 5 views
1

Ich versuche, meine Datenbank mit Bogus und Faker zu impfen, wenn dieser Fehler auftritt.Fehler CS1593 in netcore "Delegate ... Dauert nicht 1 Argument

error CS1593: Delegate 'Func<Faker, Address, short>' does not take 1 arguments 

Dies ist mein Code-Schnipsel und der Fehler die BuildingNumber Verfahren beginnt bei.

if (!context.Addresses.Any()) 
      { 
       var faker = new Bogus.DataSets.Address(); 
       var addressSkeleton = new Faker<Resa.Models.Address>() 
       .RuleFor(a => a.Street, f => faker.StreetAddress()) 
       .RuleFor(a => a.Number, f => faker.BuildingNumber()) 
       .RuleFor(a => a.Latitude, f => faker.Latitude()) 
       .RuleFor(a => a.Longitude, f => faker.Longitude()) 
       .FinishWith((f,a) => { 
        Console.WriteLine("Address created with Bogus: {0}!", a.Street); 
       }); 

Gemäß der Dokumentation zu https://github.com/bchavez/Bogus dort zu finden sollte kein Parameter in der Methode.

+0

Sieht für mich will es einen Lambda-Ausdruck in Form von '(f, a) => faker.BuildingNumber()'. –

Antwort

0

denke ich, die Quelle des probl em könnte sein, dass Ihre "Number" -Eigenschaft ein Typ von short ist und die "BuildingNumber" -Methode string anstelle von short zurückgibt. Ich bin mir nicht sicher für diese Antwort, habe nur deinen Code und Bogus dann schreibe diese Antwort aufgeschrieben. Ich hoffe, es hilft.

+0

Ja, ich habe festgestellt, dass ich in meinem Address-Modell eine Eigenschaft "Number" erstellt habe, die eine Int16 ist, wobei buildingnumber eine Zeichenfolge zurückgibt. Jetzt muss ich herausfinden, wie man es in einen int umwandeln kann, aber Casting scheint nicht zu funktionieren. –

+1

Kann man eine Erweiterungsmethode für die faker-Klasse schreiben, um BuildingAddress als int16 zurückzugeben? – kizilsu

Verwandte Themen