c# - 使用 FluentNhibernate 和 Autofac 的映射接口
问题描述
我有一个棘手而极端的问题,我如何使用 FluentNHibernate 来映射接口?请按照下面的示例进行操作:我有一个界面:
public interface IUser
{
String Name { get; set; }
City City { get; set; }
}
我有一个实现这个接口的类:
public class User : IUser
{
String Name { get; set; }
ICity City { get; set; }
}
考虑女巫也存在一个 City 类并包含一个名为 Country 的属性,并且也存在于其接口中......我需要使用 FluentNHibernate 进行如下映射:
public class UserMap : ClassMap<IUser>
{
public UserMap()
{
Map(e => e.Name);
References<City>(x => x.City).Cascade.All();
}
}
public class CityMap: ClassMap<ICity>
{
public CityMap()
{
Map(e => e.Country);
}
}
解决方案
看起来支持映射接口:
命名的持久类是一个接口是完全可以接受的。
<subclass>
然后,您将使用该元素声明该接口的实现类。
我想<subclass>
,Fluent NHibernate 中的元素等价物是 。SubclassMap<T>
因此,虽然不清楚你的实际问题是什么,但你可以试试这个:
public class UserMap : SubclassMap<IUser>
{
}
public class CityMap: SubclassMap<ICity>
{
}
推荐阅读
- python - 如何通过在 listctrl 中查看来查看数据库中包含的用户?
- ruby-on-rails - 如何防止从关注点外部访问/覆盖方法?
- scala - How to find the max String length of a column in Spark using dataframe?
- java - Tomcat 8 元空间 OutOfMemory 问题
- java - 从jar访问数据库
- c++ - repeated access of child node value in an N-ary Tree using a Visitor design pattern
- python - 如何关闭 tkinter 画布?
- c# - WPF在组框中的项目控件中的滚动查看器不显示所有项目
- macros - Is there a way to get a macro to do an extra evaluation before returning its result?
- reactjs - 如何在 Springboot 应用程序中将缓存控制响应标头添加到由 Webpack 创建的 index.html 和静态 JS 包?