我想知道是否有任何与复合键Find
等效的方法。
例如:
public CITY Find(int id)
{
return context.CITies.Find(id);
}
这是完美的解决方案吗?
public CITY Find(int comId1, int comId2)
{
return context.CITies.Where(c => c.CITY_ID == comId1 && c.COUNTRY_ID == comId2).SingleOrDefault();
}
我尝试在我的界面中实现以下方法:
T Find(int id);
T Find(int comId1,int comId2);
答案 0 :(得分:2)
Find
方法支持倍数参数,唯一需要确保以正确的顺序传递密钥:
modelBuilder.Entity<Cities>().HasKey(t => new { t.Id1, t.Id2 });
当您有复合键时,Entity Framework要求您定义键属性的顺序。您可以使用Column
注释指定订单。您也可以使用Fluent Api配置您的密钥,如下所示:
Find
如果您想要一个适用于所有实体类型的public T Find<T>(params object[] keyValues) where T: class
{
return context.Set<T>().Find(keyValues);
}
泛型方法,您可以这样做:
PROFILE MATCH (:User {uid:{0}})<-[:manages]-(employee)
RETURN employee