Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Fluent nhibernate 流畅地映射Id_Fluent Nhibernate - Fatal编程技术网

Fluent nhibernate 流畅地映射Id

Fluent nhibernate 流畅地映射Id,fluent-nhibernate,Fluent Nhibernate,当我试图映射我的类时,我遇到了以下问题 Stack trace: Inner exception message: could not resolve property: Project_ID of: Messenia.Data.Models.Project 这是我的配置 private StaticHibernate () { new NHibernate.ByteCode.Castle.ProxyFactoryFactory ();

当我试图映射我的类时,我遇到了以下问题

 Stack trace:
 Inner exception message: could not resolve property: Project_ID of: Messenia.Data.Models.Project
这是我的配置

  private StaticHibernate () {
            new NHibernate.ByteCode.Castle.ProxyFactoryFactory ();
            SessionFactory = Fluently.Configure ()
                 .Database (MySQLConfiguration.Standard
                 .ConnectionString ("database=messenia;server=localhost;uid=root;pwd=root"))
                 .ExposeConfiguration (c => c.Properties.Add ("hbm2ddl.keywords", "none"))
                 .Mappings(m => m.AutoMappings.Add(AutoMap.AssemblyOf<Entity>(new EntityAutoMappingConfiguration())

                                                                        .IgnoreBase<Entity>()
                                                                        .UseOverridesFromAssemblyOf<Entity>()
                                                                        .Conventions.Add(typeof(PrimaryKeyNamePlusId))))                                                                        .BuildSessionFactory ();
以及:

类项目不包含属性项目\u Id,但它包含属性Id,所以为什么会出现此错误?谢谢。
有人能帮我解决这个问题吗?

这是一个猜测,因为我总是发现FNH的默认Id处理非常令人满意,但是

我认为PrimaryKeyNamePlusId类告诉FNH希望实体中的所有ID属性都是_ID形式的,但您说项目实体的ID属性只是称为“ID”,所以FNH找不到它

您可以通过更改项目中的属性名称来测试这一点,例如

    public virtual Guid Project_ID { get;  protected set; }
看看错误是否消失了

public class PrimaryKeyNamePlusId : IIdConvention
    {
        public void Apply(IIdentityInstance instance)
        {
            instance.Column(instance.EntityType.Name + "_ID");
        }
    }
    public virtual Guid Project_ID { get;  protected set; }