2011-01-24 22 views
5

tengo clasesproblema polimorfismo en MongoDB con conductor norma

[MongoDiscriminated] 
public abstract class Content 
{ 
    public int? Id { get; set; } 
    public int? ParentId { get; set; } 
    public string Slug { get; set; } 
    public string Path { get; set; } 
    public string Title { get; set; } 
} 

public class Area : Content 
{ 
} 

consulta como esta funciona

var item = mongo.GetCollection<Area>().AsQueryable().FirstOrDefault(); 

Pero cuando hago una consulta como

var item = mongo.GetCollection<Content>().AsQueryable().FirstOrDefault(); 

consigo un InvalidCastException

Object must implement IConvertible. 

¿Qué pasa? No debería ser un problema convertir Área en Contenido. ¿Realmente tengo que crear contenido para implementar IConvertible?

Respuesta

0

Se podía echarlo después de la consulta:

mongo.GetCollection<Area>().AsQueryable().Cast<Content>().FirstOrDefault() 
Cuestiones relacionadas