Linq to sql 不是<;|不';你不为linq2sql工作吗? i.RecTime,i.Name,(如果i.Description=null&&i.ID.HasValue=false,则i.Message else“hello”)@>

Linq to sql 不是<;|不';你不为linq2sql工作吗? i.RecTime,i.Name,(如果i.Description=null&&i.ID.HasValue=false,则i.Message else“hello”)@>,linq-to-sql,f#,Linq To Sql,F#,工作 i.RecTime,i.Name,(如果i.Description=null&¬ 不起作用 “not”在LinqSQL内部工作吗?还是它是一个bug?我认为这是LINQ translator的F#引号的已知限制。据我所知,在编写子表达式时,translator会留下子表达式(例如,if..then中的条件或yield..后面的表达式),因此只能使用C#理解的结构 处理管道的唯一地方是在编写以下代码时: <@[for i in linq.TrueIncidents ->

工作

i.RecTime,i.Name,(如果i.Description=null&¬
不起作用


“not”在LinqSQL内部工作吗?还是它是一个bug?

我认为这是LINQ translator的F#引号的已知限制。据我所知,在编写子表达式时,translator会留下子表达式(例如,
if..then
中的条件或
yield..
后面的表达式),因此只能使用C#理解的结构

处理管道的唯一地方是在编写以下代码时:

<@[for i in linq.TrueIncidents -> i.RecTime, i.Name, (if i.Description = null && not <| i.ID.HasValue then i.Message else "hello") ] @>
Seq.filter(…)|>Seq.etc(…)@>

你可以在源代码中看到这一点-在中搜索
CallPipe
。这肯定有点不幸,因为
|>
如果你使用
非i.ID.HasValue
而不是
非@kvb是,没有Good。Head是最后一个(当前)源?@Bjorky:是的,Head是最新的(公开提供的)版本
<@[for i in linq.TrueIncidents -> i.RecTime, i.Name, (if i.Description = null && not <| i.ID.HasValue then i.Message else "hello") ] @>
<@ source |> Seq.filter (...) |> Seq.etc (...) @>