【发布时间】:2018-10-23 15:02:56
【问题描述】:
如何搜索两个或多个表。
在我正在做的系统中,我有 Boat、TypeOfBoat 和 ClassBoat 表。
我的映射如下:
HasRequired(c => c.ClassBoat )
.WithMany(c => c.Boat)
.HasForeignKey(c => c.ClassBoatId);
HasRequired(c => c.TypeOfBoat)
.WithMany(c => c.Boat)
.HasForeignKey(c => c.TypeOfBoatId);
我为搜索创建了一个通用存储库
public virtual IEnumerable<TEntity> Search(Expression<Func<TEntity, bool>> predicate)
{
return Dbset.Where(predicate);
}
我使用通用接口存储库对船进行特定搜索,以下是一些示例:
public IEnumerable<Boat> GetByActive()
{
return Search(c => c.Active && !c.excluded);
}
public Boat GetByName(string name)
{
return Search(c => c.Name== name).FirstOrDefault();
}
如果我想获取TypeOfBoat 和ClassBoat,它们是不同的表,但与Boat 表相关,我该怎么办?
我的想法是在表格中显示这些数据
这是我的数据库的 SS。
【问题讨论】:
-
预期结果示例?
-
我最近回答了一个有点相关的问题。根据您实际寻找的内容,这可能会对您有所帮助。 stackoverflow.com/a/52934296/5265292
-
@ingvar 假设我想知道某艘船属于哪个类别和类型
标签: c# asp.net .net entity-framework