Sometimes you will need more complex types to be stored in the database, such as currencies. In this recipe, we will show you how to implement a money type and the corresponding composite user type.
Create a new class library project named
MoneyExample
.Install the
NHibernate
package using the NuGet Package Manager Console by executing the following command:Install-Package NHibernate
Create the following
Money
class:public struct Money : IEquatable<Money> { public decimal Amount { get; } public string Currency { get; } public Money(decimal amount, string currency) { Amount = amount; Currency = currency; } public override bool Equals(object obj) { if (ReferenceEquals(null, obj)) return false; return obj is Money && Equals((Money) obj); } public bool Equals(Money other) { return Amount == other.Amount && string.Equals(Currency, other.Currency); } public override int GetHashCode() { ...