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非常感謝。 –