繁体   English   中英

NHibernate w / Fluent - 没有持久性:[class]

[英]NHibernate w/ Fluent - No persister for: [class]

我第一次使用NHibernate,但希望能够通过NHibernate Fluent尽可能避免使用配置文件。 我有一个项目设置,我正在尝试使用以下内容查询地址对象

[TestMethod]
public void TestMethod1()
{
    var cfg = Fluently.Configure()
        .Database(MsSqlConfiguration.MsSql2008.ConnectionString(c => c.Is("[ConnectionStringHere")))
        .Mappings(m => m.FluentMappings.AddFromAssemblyOf<RedSand.Models.Data.Mapping.AddressMapping>());

    var sessionFactory = cfg.BuildSessionFactory();

    var session = sessionFactory.OpenSession();

    session.Get<Address>(new Guid("A8B9BA39-425D-4AE6-A72E-00216ABC87C4"));
}

然而,它正在炸毁Get<T>()方法,并且抱怨没有持久性的错误。 我的地址类如下。

public class Address
{
    public Guid AddressId { get; set; }
    public string AddressType { get; set; }
    public string StreetAddress { get; set; }
    public Guid CityId { get; set; }
    public string PostalCode { get; set; }
    public bool DefaultAddress { get; set; }
    public bool TermAddress { get; set; }
    public string SuiteNumber { get; set; }
    public float Latitude { get; set; }
    public float Longitude { get; set; }
    public int Accuracy { get; set; }
}

public class AddressMapping : ClassMap<Address>
{
    public AddressMapping()
    {
        Table("tblAddress");
        Not.LazyLoad();
        Id(a => a.AddressId).Column("AddressID").GeneratedBy.Guid();
        Map(a => a.StreetAddress).Column("Address").Length(100);
        Map(a => a.CityId).Column("CityID");
        Map(a => a.PostalCode).Length(50);
        Map(a => a.DefaultAddress);
        Map(a => a.TermAddress).Default("0");
        Map(a => a.SuiteNumber).Column("SuiteNo").Length(50);
        Map(a => a.Latitude);
        Map(a => a.Longitude);
        Map(a => a.Accuracy);
    }
}

我正在使用现有的数据库,所以尽量忽略时髦的表结构/命名。

我在这里错过了什么吗? 你们中的任何人都可以看到一些可以解释为什么它会抱怨No persister吗?

AddFromAssemblyOf的程序集应该是映射类,而不是映射文件。 地址是否与AddressMapping不同的程序集? 尝试将其更改为AddFromAssemblyOf<YourNamespace.Address>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM