ニュース エンティティがあり、NewsID に基づいてニュースを取得します。ここで、新しいエンティティであるグループを定義し、グループ 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>();
}
}
GroupID に基づいて制約を定義するために、この行を追加します。
else if (groupId > 0)
{
constraint = e => (e.RelatedGroupID.Any(n => n.GroupID == groupId));
}
それは間違っているようで、私にこのエラーを与えます:
{"無効なオブジェクト名 'dbo.GroupNewsNews'."}