querybuilder icon indicating copy to clipboard operation
querybuilder copied to clipboard

How to join to CONTAINSTABLE? Do we need JoinRaw?

Open mrfoster opened this issue 4 years ago • 2 comments

CONTAINSTABLE is being escaped when I'm trying to use join. It seems like a JoinRaw option would be appropriate here?

var query = new Query("Activity as a")
    .Join("CONTAINSTABLE(Activity, *, @query) as s", "a.Id", "s.Key")
    .OrderByDesc("s.Rank")
SELECT
  *
FROM
  [Activity] AS [a]
  INNER JOIN [CONTAINSTABLE(Activity, *, @query)] AS [s] ON [a].[Id] = [s].[Key]
ORDER BY
  [s].[Rank] DESC

I really want it to output:

SELECT
  *
FROM
  [Activity] AS [a]
  INNER JOIN CONTAINSTABLE(Activity, *, @query) AS [s] ON [a].[Id] = [s].[Key]
ORDER BY
  [s].[Rank] DESC

Is there a current workaround for this?

mrfoster avatar May 13 '20 10:05 mrfoster

Currently there is no support for XJoinRaw methods, but you can use the FromRaw to achieve this, Check this example on SqlKata Playground

ahmad-moussawi avatar May 14 '20 08:05 ahmad-moussawi

#128 #475

ahmad-moussawi avatar Jul 16 '21 14:07 ahmad-moussawi