Je suis un débutant complet avec Fluent et je suis confronté à un problème qui est probablement de ma faute.AutoMap.AssemblyOf mappe l'espace de noms entier
J'ai un espace de noms contenant 3 classes. Entité, EntityVersion et Propriété. Aucun héritage impliqué entre les classes.
Je tente de mapper uniquement la classe Entity, mais ce qui se passe est que toutes les classes de l'espace de noms sont mappées. Qu'est-ce que je fais mal ici?
private static ISessionFactory CreateSessionFactory()
{
return Fluently.Configure()
.Database(
MsSqlConfiguration.MsSql2005
.ConnectionString("Data Source=MSCHOPMAN\\SQLEXPRESS;Initial Catalog=framework;Integrated Security=SSPI"))
.Mappings(m =>
{
m.AutoMappings.Add(
AutoMap.AssemblyOf<Entity>()
//.IgnoreBase<Entity>()
.Where(t => t.Namespace == "Modules.Business.Entities")
)
.ExportTo("c:\\temp");
}
)
.ExposeConfiguration(BuildSchema)
.BuildSessionFactory();
}
Et la classe Entité:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using Modules.Data;
namespace Modules.Business.Entities
{
public class Entity
{
public virtual int Id { get; set; }
public virtual int ParentId { get; set; }
public virtual int TypeId { get; set; }
//public virtual IList<EntityVersion> Versions { get; set; }
public Entity()
{
//Versions = new List<EntityVersion>();
}
}
}
Salut Darin, merci pour votre réponse. Peut-être qu'il me manque tout le point du type Entity étant passé dans la première ligne: À quoi sert AddAssembly? :) m.AutoMappings.Add (AutoMap.AssemblyOf ) .Où (t => t.Namespace == "Modules.Business.Entities")) –
Cela signifie cartographier tous les types qui sont définis dans l'ensemble dans lequel le Le type d'entité est défini (espérons que cela a du sens). –
Cela ne signifie pas le type d'entité. –