我知道在实体框架中你可以做类似
的事情public MyObject myObj {get;set;}
public int myObjId {get;set;}
使我能够访问密钥或相应的对象。但是,你可以为1.M协会做点什么吗?
public ICollection<MyObject> myObj {get;set;}
public ICollection<int> myObjIds {get;set;}
如果可以的话会非常有用。
答案 0 :(得分:1)
但您有两种选择:
您可以创建只读属性:
public ICollection<MyObject> myObj {get;set;}
public IEnumerable<int> myObjIds
{
get { return myObj.Select(o => o.Id); }
}
这要求您已加载myObj
集合或使用延迟加载。
第二种方法是在需要时明确地加载Ids:
IEnumerable<int> myObjIds = context.Parents
.Where(p => p.Id == 1)
.Select(p => p.myObj.Select(o => o.Id))
.Single();