具有Entity Framework 6的复合主键,没有导航属性的流畅API

时间:2014-04-24 09:53:11

标签: c# entity-framework mapping

我发现很多关于此的帖子,但根本找不到我喜欢的解决方案。

我有一个这样的课程

public Class1{
    int Year{get;set;}
    Class2 Class2Field {get;set;}
    //.... other non key field
}

我希望以这种方式映射密钥:

HasKey(u => new { u.Class1.Year, u.Class1.Class2Field.id });

我不想成为我的对象中的Class2Field.Id属性:不需要也不喜欢。

它是必须正确映射它的ORM,而不会强迫域模型具有无用的属性。

是否有工作要做到这一点?

我唯一的想法是创建一个guid,它将成为我的对象键,并使实际的键只需要属性,如下所示:

public Class1{
    int Id{get;set;}
    int Year{get;set;}
    Class2 Class2Field {get;set;}
    //.... other non key field
}

HasKey(u => new { u.Class1.Id});

但仍然不喜欢这个

NHibernate可以流利地解决这个问题吗?

0 个答案:

没有答案