做ASP.NET网站遇到的问题,只会sql语句,在网上找的linq to sql看不明白
这个问题相关的表有三个,设计如下
/电影表
CREATE TABLE [film]([id] int not null primary key,
[director] nchar(100),
[actor] nchar(100),
[intro] nchar(400),
[imag] nchar(100),
[name] nchar(50))
/类型表
CREATE TABLE [type] ([id] int not null primary key,
[type_name] nchar(100))
/关系表
CREATE TABLE [relationship]([id] int not null primary key,
[film_id] int,
[type_id] int)
我觉得film表应该是主表,用外连接查询,但是不知道具体代码怎么写
在网站上实现点击分类名显示该分类对应的所有电影名
public async List<Film> GetFilmListByType(string filmType)
{
var query = from rs in _context.RelationShips
join film in _context.Films on film.Id equals rs.FilmId
join type in _context.Types on type.Id equals rs.TypeId
where type.TypeName == filmType
select film;
return await query.ToListAsync();
}
select film.name as 电影名
from film,type,relationship
where film.id=relationship.film_id and type.id=relationship.type_id
and type.type_name = '传递进来的分类名'