Linq2Sql:如何重新创建联合选择

时间:2014-04-01 12:08:38

标签: .net linq-to-sql

我想在Linq2Sql中重新创建以下内容

SqlStr = "SELECT RefNo, Title, Allocation, GenralMenu, AdminMenu, Redundant 
FROM Menus UNION SELECT 0,  '', '', 0, 0, 0 ORDER BY Title"

不幸的是,我的尝试并没有取得丰硕成果。有办法做到这一点吗? 或者我需要

  • 从菜单中选择记录
  • 插入我的工会"记录到提取的列表中
  • 按标题排序列表

2 个答案:

答案 0 :(得分:0)

好的,我已经解决了我的问题如下

Dim dc As New DiaryDataContext
Dim menuList = (From m In dc.Menus
                Select m)

Dim dl As List(Of Menu)
dl = menuList.ToList
dl.Insert(0, New Menu With{.RefNo = 0,
                           .Title = "",
                           .Value = "",
                           .GeneralMenu = False,
                           .AdminMenu = False,
                           .Redundant = False})
gv_Menus.DataSource = dl
gv_Menus.DataBind()

比原始SQL稍长但有效......

答案 1 :(得分:-1)

您需要使用插入/选择
语法示例:

INSERT INTO Table1 
SELECT Table2.column1  AS column1, Table2.column2 AS column2
from table2
WHERE Table2.column3 > 100

LINQ2SQL

context
  .Table1
  .InsertAllOnSubmit(
    context
      .Table2
      .Where( ... )
      .Select(b => new A { ... })
  );