1
假设我在一个实体框架中使用代码优先的三个模型,其中一个是与另一个1-n关系并且与第三个具有1-1关系的主要模型。通过复合实体搜索CF实体框架
例如
public class Model {
[Key]
public int Id {get; set;}
public string value {get; set;}
// 1-N relationship to modelInfo
public virtual ICollection<ModelInfo> modelInfo {get; set;}
}
public class ModelInfo {
[Key]
public int Id {get; set;}
public string value2 {get; set;}
// 1-1 relationship between modelInfo and modelDetail
public virtual ModelDetail {get; set;}
[Required]
// link back to the model
public virtual Model model;
}
public class ModelDetail {
[Key]
public int Id {get; set;}
public string modelDetail {get; set;}
[Required]
// 1-1 link back to the modelInfo
public virtual ModelInfo modelInfo;
}
现在假定模型,假设你有一个模型的集合,已经从以前的LINQ查询。
IQueryable<Model> models;
而且您需要找到哪个模型与具有modelDetail =“findme”的ModelDetail相关联?使用linq语法..或者甚至可能吗?
喜欢的东西
ModelDetail foundit = models.Where(m => m..??.. modelDetail=="findme");
我迷失在型号和ModelInfo之间的1-N关系
感谢:
从
Model
返回ModelDetail
。非常接近我想要做的事情。我喜欢模型中的第三种方法(我实际上并没有直接从我的上下文中公开子模型,也许是一个不好的决定,但它看起来是正确的,因为这些数据只能作为主模型的一部分存在)。这个例子找到了一个modelinfos模型,其中一个modelDetail == findme。但它实际上并没有选择modelDetail。它反而是返回一个模型..在这一点上,我仍然坚持寻找特定modelDetail的问题。 –请参阅我的编辑以从您的Model –
返回ModelDetail非常感谢。 –