Find()方法接受一个对象数组,描述您尝试查找的主键。有关如何处理复合主键的文档不清楚。我尝试搜索github存储库,但无法找到Finder.Find()方法的源代码。
例如,我使用了流畅的API来定义以下复合主键:
modelBuilder.Entity<Article>()
.HasKey( x => new { x.CommunityID, x.ArticleID } );
我是否像这样调用Find():
Find( new object[] {1, 2} );
或者像这样:
Find( new object[] { new {CommunityID = 1, ArticleID = 2} } );
如果是第一种方法,那么参数的顺序是否与Fluent API匿名对象上定义的属性顺序相同?
答案 0 :(得分:9)
查找的签名为:params object[] keyValues
无需传入数组,只需单独输入每个键:
.Find(1, 2);
如果它是第一种方法,那么参数的顺序是相同的 在流畅的API匿名对象上定义的属性的顺序?
是的,您需要按照流利的API地图中定义的顺序传入PK。