示例#1
0
        public IList <string> FilmTitleWhereWasPartecipateSpecificActor(int ActorId)
        {
            var    parameters        = CreateDbParameters();
            string parameterName     = string.Empty;
            string parameterName4Sql = string.Empty;

            parameterName     = "idActor";
            parameterName4Sql = DaoHelper.GetParamNameForProvider(parameterName);
            parameters.AddWithValue(parameterName4Sql, ActorId);

            Film film = null;
            //Actor actor = null;
            //Cast cast = null;

            string selectStr = @"SELECT DISTINCT FILMTITLE FROM {0} INNER JOIN CAST ON FILMS.ID = FILMID INNER JOIN ACTORS ON ACTORID = ACTORS.IDACTOR WHERE ACTORS.IDACTOR = {1}".FormatWith(film.GetTableNameForEntity(), parameters[0].Value);

            var builder =
                NewSqlQueryBuilder()
                .CustomSql(selectStr);



            //.RegisterTableAlias(aliasFilm, film.GetTableNameForEntity())
            //.RegisterTableAlias(aliasActor, actor.GetTableNameForEntity())
            //.RegisterTableAlias(aliasCast, cast.GetTableNameForEntity())
            //.Select()
            //.Distinct()
            //.AddFieldsToSelect<Film>(aliasFilm, x => x.FilmTitle)
            //.From(aliasFilm)
            //.InnerJoin(new TableDef {Alias = aliasCast, Schema = Schema, TableName = cast.GetTableNameForEntity() })
            //.On()
            //.JoinCondition(aliasFilm, film.GetFieldName( f => f.Id), WhereOperator.EqualTo, aliasCast, cast.GetFieldName(c => c.FilmId))
            //.InnerJoin(new TableDef {Alias = aliasActor, Schema = Schema, TableName = actor.GetTableNameForEntity() })
            //.On()
            //.JoinCondition(aliasCast, cast.GetFieldName(c => c.ActorId), WhereOperator.EqualTo ,aliasActor, actor.GetFieldName(a => a.Id))
            //.Where()
            //.Condition<Actor>(aliasActor, a => a.Id, WhereOperator.EqualTo, idActor);

            return(QueryForListOfString(builder));
        }