Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 具有实体框架6 fluent API且不带导航属性的复合主键_C#_Entity Framework_Mapping - Fatal编程技术网

C# 具有实体框架6 fluent API且不带导航属性的复合主键

C# 具有实体框架6 fluent API且不带导航属性的复合主键,c#,entity-framework,mapping,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属性:不需要也

我找到了很多关于这个的帖子,但就是找不到我喜欢的解决方案

我有一节这样的课

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 fluent能解决这个问题吗?

没有人有更好的主意吗?只是希望得到一些答案