我有一個新聞實體,並根據他們的NewsID獲取新聞。現在我定義了一個新實體,一個Group,並且我想根據他們的Group ID得到這個消息。我定義了一個組新聞表格Aslo將它與表格聯繫起來。 實體框架工作:多對多關係表
新聞模型我有:
public virtual ICollection<GroupNews> RelatedGroupID { get; set; }
所以我認爲我所定義的GroupNews表值,我可以在NewsService使用它。
現在讓我們看看NewsService:
Expression<Func<News, bool>> constraint = null;
if (user_id > 0 && project_id > 0)
{
constraint = e => (e.CreatorID == user_id && e.RelatedProjectTags.Any(p => p.ProjectID == project_id));
}
else if (user_id > 0)
{
constraint = e => (e.CreatorID == user_id);
}
else if (project_id > 0)
{
constraint = e => (e.RelatedProjectTags.Any(p => p.ProjectID == project_id));
}
else
{
constraint = null;
}
IEnumerable<News> result_list = null;
if (constraint != null)
{
result_list = newsRepository.GetMany(constraint).OrderByDescending(e => e.CreatedOn).Skip(offset);
}
else
{
result_list = newsRepository.GetAll().OrderByDescending(e => e.CreatedOn).Skip(offset);
}
if (count > 0)
{
result_list = result_list.Take(count);
}
return result_list.ToList<News>();
}
}
我爲了定義基於羣ID約束這一行添加到它。
else if (groupId > 0)
{
constraint = e => (e.RelatedGroupID.Any(n => n.GroupID == groupId));
}
似乎錯了,給我這個錯誤:{ 「無效的對象名稱dbo.GroupNewsNews'」}
如果你在做Code First,你爲什麼不讓EF爲你生成數據庫。無需手動創建/更改數據庫表。 – jure 2013-05-03 08:52:35
請發佈您的GroupNews和News類以及您的上下文類。 – SOfanatic 2013-05-03 12:04:29
根據您的屏幕截圖和錯誤消息,您的表格名爲GroupNews,但EF正在嘗試查找「GroupNewsNews」。您可能需要覆蓋表名:'[Table [「GroupNews」)]' – SOfanatic 2013-05-03 12:14:48