流畅的 nHibernate 和接口

发布于 2024-12-07 12:31:15 字数 821 浏览 0 评论 0原文

当使用接口而不是具体类作为属性时,Fluent nHibernate 运行良好吗?

例如,体育场有对其所在城市的引用,因此我们的接口/具体类如下所示

接口:

ICity  
  int Id;  
  string Name;  

IStadium
 int Id;  
 string Name;  
 ICity City;

具体类:

class City: ICity;  
   ...

class Stadium: IStadium;
  public virtual int Id {get; private set; }  
  public virtual string Name { get; set; }
  public virtual ICity City { get; set; } //<- NOTE: Reference to interface instead of the class

映射器:

public class StadiumMap : ClassMap<Stadium>
{
    public StadiumMap() 
    {
       ...
       References(x => x.City).Column("Id");
       ...
    }
}

在流畅的nhibernate中可以正常工作吗?还是我必须用“City”替换我的“ICity”?

Does fluent nHibernate play well when using interfaces instead of concrete classes as properties?

E.g. A sports stadium has a reference to a city that it is in, so our interfaces/concrete classes looks as follows

Interface:

ICity  
  int Id;  
  string Name;  

IStadium
 int Id;  
 string Name;  
 ICity City;

Concrete class:

class City: ICity;  
   ...

class Stadium: IStadium;
  public virtual int Id {get; private set; }  
  public virtual string Name { get; set; }
  public virtual ICity City { get; set; } //<- NOTE: Reference to interface instead of the class

Mapper:

public class StadiumMap : ClassMap<Stadium>
{
    public StadiumMap() 
    {
       ...
       References(x => x.City).Column("Id");
       ...
    }
}

So will the above work fine in fluent nhibernate or will I have to replace my "ICity" with "City"?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

吃不饱 2024-12-14 12:31:15

有点偏离主题,但我怀疑您的域类是否从实现接口中受益。 詹姆斯·格雷戈里说得最好

A little off topic but I doubt your domain classes are benefiting from implementing interfaces. James Gregory said it best.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文