使用FluentNhibernate和Autofac的映射界面

时间:2018-07-09 18:06:53

标签: c# nhibernate orm mapping fluent-nhibernate

我有一个棘手的极端问题,我如何使用FluentNHibernate映射接口?请按照下面的示例我怎么想做: 我有一个界面:

 const getC = fetch(api/getContacts, {
        method: 'GET',
        headers: {
           'Authorization': JSON.stringify(this.props.getLogin()),
           'Accept': 'application/json',
           'Content-Type': 'application/json',
        }
     })
     .then((res) => {
        console.log(res.status);
        return res.json()
     })
     .then(json => {
        ...
     });

并且我有一个实现此接口的类:

public interface IUser
{
    String Name { get; set; }
    City City { get; set; }
}

考虑女巫也存在City的类,并且包含一个名为Country的属性,并且在其界面也存在... 我需要使用FluentNHibernate进行映射,如下所示:

public class User : IUser
{
    String Name { get; set; }
    ICity City { get; set; }
}

1 个答案:

答案 0 :(得分:0)

看起来映射接口是supported

  

将命名的持久类作为接口是完全可以接受的。然后,您可以使用<subclass>元素声明实现该接口的类。

我想,Fluent NHibernate中的<subclass>元素等效为SubclassMap<T>。因此,尽管不清楚您的实际问题是什么,您可以尝试以下方法吗:

public class UserMap : SubclassMap<IUser>
{
}

public class CityMap: SubclassMap<ICity>
{
}