Boa tarde,
Ao seguir o passo a passo do professor Victorino Vila do curso ".Net e MongoDB parte 1: integre aplicações .NET", me deparei com a seguinte excessão da qual eu não consigo sair dela, alguem consegue me ajudar?
Exceção:
System.TypeInitializationException: The type initializer for 'MongoDB.Bson.Serialization.BsonClassMap' threw an exception.
---> System.ArgumentNullException: Value cannot be null. (Parameter 'type')
at System.Reflection.IntrospectionExtensions.GetTypeInfo(Type type)
at MongoDB.Bson.Serialization.BsonClassMap..cctor()
--- End of inner exception stack trace ---
at MongoDB.Bson.Serialization.BsonClassMap.LookupClassMap(Type classType)
at MongoDB.Bson.Serialization.BsonClassMapSerializationProvider.GetSerializer(Type type, IBsonSerializerRegistry serializerRegistry)
at MongoDB.Bson.Serialization.BsonSerializerRegistry.CreateSerializer(Type type)
at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
at MongoDB.Bson.Serialization.BsonSerializerRegistry.GetSerializer[T]()
at MongoDB.Driver.MongoCollectionImpl`1..ctor(IMongoDatabase database, CollectionNamespace collectionNamespace, MongoCollectionSettings settings, ICluster cluster, IOperationExecutor operationExecutor)
at MongoDB.Driver.MongoDatabaseImpl.GetCollection[TDocument](String name, MongoCollectionSettings settings)
at MongoDB.Program.MainAsync(String[] args) in C:\Users\marki\source\repos\MongoDB\MongoDB\Program.cs:line 71
Minha classe
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
namespace MongoDB
{
public class Livro
{
[BsonRepresentation(BsonType.ObjectId)]
public string Id { get; set; }
public string Titulo { get; set; }
public string Autor { get; set; }
public int Ano { get; set; }
public int Paginas { get; set; }
public List<string> Assunto { get; set; }
}
}
Meu Programa:
using System;
using System.Threading.Tasks;
using MongoDB.Bson;
using MongoDB.Driver;
namespace MongoDB
{
class Program
{
static void Main(string[] args)
{
Task T = MainAsync(args);
Console.ReadKey();
}
static async Task MainAsync(string[] args)
{
try
{
/*
{
"Título":"Guerra dos Tronos",
"Autor":"George R R Martin",
"Ano":1999,
"Páginas":856
"Assunto": [
"Fantasia",
"Ação"
]
}
*/
/*
var doc = new BsonDocument {
{"Titulo", "Guerra dos Tronos" }
};
doc.Add("Autor", "George R R");
doc.Add("Ano", 1999);
doc.Add("Páginas", 856);
var docarray = new BsonArray();
docarray.Add("Fantasia");
docarray.Add("Ação");
doc.Add("Assunto", docarray);
Console.WriteLine("Prévia: "+doc);
*/
Livro livro = new Livro();
livro.Titulo = "DEUSES AMERICANO";
livro.Autor = "NEIL GAIMAN";
livro.Ano = 2015;
livro.Paginas = 654;
List<string> cont = new List<string>();
cont.Add("Ficção");
cont.Add("Nórdico");
cont.Add("Ação");
livro.Assunto = cont;
string con = "mongodb://localhost:27017";
IMongoClient cmd = new MongoClient(con);
IMongoDatabase bd = cmd.GetDatabase("Biblioteca");
IMongoCollection<Livro> collection = bd.GetCollection<Livro>("Livros");
await collection.InsertOneAsync(livro);
Console.WriteLine("Done");
}
catch(Exception e) { Console.WriteLine(e.ToString()); }
}
}
}