【发布时间】:2021-10-02 15:48:20
【问题描述】:
我是 NHibernate / Fluent NHibernate 的新手(本周末开始使用它),我在解决以下问题时遇到了困难。
我有 2 个 SQL Server 表:
[Client]
ID INT NOT NULL IDENTITY(1,1)
Name VARCHAR(100) NOT NULL
Email VARCHAR(255) NOT NULL
BirthDate DATE
[Phones]
ID INT NOT NULL IDENTITY(1,1)
Number VARCHAR(14)
Category INT
ClientID INT NOT NULL
FOREIGN KEY REFERENCES [Client](ID),
POCO 课程:
public class Clients
{
public virtual int ID { get; set; }
public virtual string Name { get; set; }
public virtual string Email { get; set; }
public virtual DateTime BirthDate { get; set; }
public virtual Phones Phones { get; set; }
}
public class Phones
{
public virtual int ID { get; set; }
public virtual string Number { get; set; }
public virtual PhoneCategory.PCategory Category { get; set; }
public virtual Clients Client { get; set; }
}
public static class PhoneCategory
{
public enum PCategory
{
Personal,
Comercial,
Residential,
Other
}
}
映射:
public class ClientsMap : ClassMap<Clients>
{
public ClientsMap()
{
Table("Clients");
Id(x => x.ID);
Map(x => x.Name);
Map(x => x.Email);
Map(x => x.BirthDate);
References(x => x.Phones).Column("ClientID").Cascade.All();
}
}
public class PhonesMap : ClassMap<Phones>
{
public PhonesMap()
{
Table("Phones");
Id(x => x.ID);
Map(x => x.Number);
Map(x => x.Category).CustomType<PhoneCategory.PCategory>();
}
}
我的 Clients 类视图工作正常,我可以保存、更新、列出和删除。但是我怎么能包含 Phones 类的记录呢?
【问题讨论】:
标签: c# asp.net-core nhibernate fluent-nhibernate fluent-nhibernate-mapping