当我尝试使用NHibernate流畅配置表(使用代码优先)时,我是DDD和NHibernate的新手。
在EntityFramework中,我们可以使用ComplexTypeConfiguration来配置值对象,并在许多表中使用该配置,但是我不知道NHibernate如何为EntityFramework等值对象分离配置。
internal class EmployeeConfiguration : ClassMap<Employee>
{
public EmployeeConfiguration()
{
Table("Employees");
Id(emp => emp.Id).GeneratedBy.Identity();
Component(emp => emp.FullName, name =>
{
name.Map(ele => ele.FirstName).Column("FirstName").Length(255).Not.Nullable();
name.Map(ele => ele.LastName).Column("LastName").Length(255).Not.Nullable();
name.Map(ele => ele.MiddleName).Column("MiddleName").Length(255).Nullable();
});
}
}
Run Code Online (Sandbox Code Playgroud)
我用Google搜索了解决方案,但没有什么真正的帮助。
非常感谢任何帮助,谢谢。
我一生都无法将它与我现有的代码一起使用,但我正在尝试将我的enum选择保存为 NHibernate 中的字符串。基本上,我有一个 UI 复选框,如果用户选择多个复选框,我想存储这些选择。现在,我可以让 NHibernate 存储一个选择(例如,从下拉列表或单选按钮列表中,用户仅限于一个选择)。
这是我对枚举的jist:
public enum IncomeType
{
[Display(Name = "Full-Time Employment")]
FullTime,
[Display(Name = "Part-Time Employment")]
PartTime,
[Display(Name = "Self-Employment")]
SelfEmployed,
[Display(Name = "Rental")]
Rental,
[Display(Name = "Social Security Payments")]
SocialSecurity,
[Display(Name = "Retirement / Pension Payments")]
Retirement,
[Display(Name = "Child Support Payments")]
ChildSupport,
[Display(Name = "Spousal Maintenance")]
Maintenance,
[Display(Name = "Other")]
Other
}
Run Code Online (Sandbox Code Playgroud)
我使用一种方法来“选择”是否显示复选框列表(如果我BulkItemThreshold的选项数量等于选项数,则显示一个复选框列表)。这是那个方法:
public static IEnumerable<SelectListItem> GetItemsFromEnumString<T>
(T selectedValue = default(T)) where T : struct
{
return from name …Run Code Online (Sandbox Code Playgroud)