Une association de la table X fait référence à un mappage de classe: System.Guid

J'ai cette classe:

public class AttachmentLocation
{
    #region properties

    public virtual Guid UserId { get; set; }

    public virtual Guid LocationId { get; set; }

    public virtual long IndexInLocation { get; set; }

    #endregion

    #region contained foreign objects

    public virtual Attachment Attachment { get; set; }

    #endregion


    #region Methods need to override for CompositeId

    public override bool Equals(object obj)
    {
        if (obj == null)
            return false;
        var t = obj as AttachmentLocation;
        if (t == null)
            return false;
        if (UserId == t.UserId && LocationId == t.LocationId && Attachment.Id == t.Attachment.Id)
            return true;
        return false;
    }

    public override int GetHashCode()
    {
        return (UserId + "|" + LocationId + "|" + Attachment.Id).GetHashCode();
    }

    #endregion

}

J'ai ce Fluide Cartographie:

public class AttachmentLocaionMap : ClassMap<AttachmentLocation>
{
    public AttachmentLocaionMap()
    {
        Table("Metadata_AttachmentLocation");
        CompositeId()
            .KeyReference(x => x.UserId, "UserId")
            .KeyReference(x => x.Attachment.Id, "AttachmentId")
            .KeyReference(x => x.LocationId, "LocationId");
        Map(x => x.IndexInLocation).Not.Nullable();
        Map(x => x.LocationId).Not.Nullable();

        HasOne(x => x.Attachment);
    }
}

qui m'inscrire:

SessionFactory = Fluently.Configure(configuration).Mappings(m =>
{
    m.FluentMappings.AddFromAssemblyOf<AttachmentLocaionMap>();           
    m.FluentMappings.AddFromAssemblyOf<FriendDetailsMap>();
}).BuildSessionFactory();

J'obtiens cette erreur d'exécution:

Une association à partir de la table Metadata_AttachmentLocation se réfère à une
mappage de classe: System.Guid

Description: Une exception non gérée s'est produite lors de l'exécution de
la demande web actuelle. Veuillez consulter la trace de la pile pour plus d'
informations sur l'erreur et où elle a son origine dans le code.

Détails De L'Exception: NHibernate.MappingException: Une association de
le tableau Metadata_AttachmentLocation se réfère à un mappage de classe:
Système.Guid

Source De L'Erreur:

Ligne 19: Ligne 20: Ligne 21: SessionFactory =
Couramment.Configure(configuration).Mappages(m => Ligne 22: {
Ligne 23:

m.FluentMappings.AddFromAssemblyOf();

Fichier Source: C:\Users\elad\Documents\Visual Studio
2010\Projects\SVN\UGI\Ugi\Infrastructure\Dal\Cartes\NHibernateAdapter\NHibernateHelper.cs
Ligne: 21

Trace De La Pile:

[MappingException: Une association de la table
Metadata_AttachmentLocation se réfère à un mappage de classe: System.Guid]
NHibernate.Cfg.La Configuration.LogAndThrow(Sauf exception) dans
d:\C # \NH\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:342

NHibernate.Cfg.La Configuration.SecondPassCompileForeignKeys(Table Table,
ISet fait)
d:\C # \NH\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:1169

NHibernate.Cfg.La Configuration.SecondPassCompile() dans
d:\C # \NH\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:1120

NHibernate.Cfg.La Configuration.BuildSessionFactory() dans
d:\C # \NH\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:1249

FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory() dans
d:\Builds\FluentNH-v1.x-nh3\src\FluentNHibernate\Cfg\FluentConfiguration.cs:227

[FluentConfigurationException: Un invalide ou incomplète de configuration
a été utilisée lors de la création d'une SessionFactory. Vérifier PotentialReasons
collection, et InnerException pour plus de détails.

  • De la base de données n'a pas été configuré par le biais de la Base de données de la méthode. ]

    FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory() dans
    d:\Builds\FluentNH-v1.x-nh3\src\FluentNHibernate\Cfg\FluentConfiguration.cs:232
    Ugi.L'Infrastructure.Dal.Les adaptateurs.NHibernateAdapter.NHibernateHelper.OpenSession()
    dans C:\Users\elad\Documents\Visual Studio
    2010\Projects\SVN\UGI\Ugi\Infrastructure\Dal\Cartes\NHibernateAdapter\NHibernateHelper.cs:21
    Ugi.L'Infrastructure.Dal.Les adaptateurs.NHibernateAdapter.NHibernateHelper.GetSession()
    dans C:\Users\elad\Documents\Visual Studio
    2010\Projects\SVN\UGI\Ugi\Infrastructure\Dal\Cartes\NHibernateAdapter\NHibernateHelper.cs:36
    Ugi.L'Infrastructure.Dal.Les adaptateurs.NHibernateAdapter.NHibernateDal1..ctor()
    in C:\Users\elad\Documents\Visual Studio
    2010\Projects\SVN\UGI\Ugi\Infrastructure\Dal\Adapters\NHibernateAdapter\NHibernateDal.cs:16
    Ugi.Infrastructure.Dal.Adapters.NHibernateAdapter.NHibernateDalFactory.GetDal()
    in C:\Users\elad\Documents\Visual Studio
    2010\Projects\SVN\UGI\Ugi\Infrastructure\Dal\Adapters\NHibernateAdapter\NHibernateDalFactory.cs:17
    Ugi.Server.Sources.Logic.SourcesService..ctor() in
    C:\Users\elad\Documents\Visual Studio
    2010\Projects\SVN\UGI\Ugi\Server\Sources\Logic\SourcesService.cs:36
    BuildUp_Ugi.Server.Sources.Logic.SourcesService(IBuilderContext ) +153
    Microsoft.Practices.ObjectBuilder2.DynamicMethodBuildPlan.BuildUp(IBuilderContext
    context) in
    c:\EntLib\UnityTemp\Compile\Unity\Unity\Src\ObjectBuilder\Strategies\BuildPlan\DynamicMethod\DynamicMethodBuildPlan.cs:37
    Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext
    context) in
    c:\EntLib\UnityTemp\Compile\Unity\Unity\Src\ObjectBuilder\Strategies\BuildPlan\BuildPlanStrategy.cs:43
    Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext
    context) in
    c:\EntLib\UnityTemp\Compile\Unity\Unity\Src\ObjectBuilder\Strategies\StrategyChain.cs:110
    Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object
    existing, String name, IEnumerable
    1 resolverOverrides)
    c:\EntLib\UnityTemp\Compiler\Unité\Unité\Src\UnityContainer.cs:512

[ResolutionFailedException: la Résolution de la dépendance à l'échec, type
= "Ugi.Commun.De modèle.Des Sources.ISourcesService", nom = "(aucun)". Exception s'est produite lors: l'Appel de constructeur
Ugi.Serveur.Des Sources.La logique.SourcesService(). Exception est la suivante:
FluentConfigurationException - Un invalide ou incomplète de configuration
a été utilisée lors de la création d'une SessionFactory. Vérifier PotentialReasons
collection, et InnerException pour plus de détails.

  • De la base de données n'a pas été configuré par le biais de la Base de données de la méthode.

Comment puis-je régler ce problème?

TIA

OriginalL'auteur Elad Benda | 2011-11-26