gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 12:17:04 25 4
gpt4 key购买 nike

我是第一次使用 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 中的程序集应该是映射类,而不是映射文件。 Address 与 AddressMapping 在不同的程序集中吗?尝试将其更改为 AddFromAssemblyOf<YourNamespace.Address> .

关于c# - NHibernate w/Fluent - 没有 : [class] 的持久性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4248546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com