Linqpad 可以表的列名称与表名称相同

P63*_*5uk 5 linqpad

大家好,我在使用 Linqpad 时遇到一个小问题,数据库设置不佳

首先,我有一个数据库,其中创建者的表的列名称与他用作启用字段的表相同。

除此之外,这些表还有“内容”和“值”列。

进行试验后,如果表中有一个与表名称相同的列,它会将该列重命名为“内容”,如果它具有类似名称的列名,则将其重命名为“值”。

如果我然后尝试查询(如下),我会丢失与表具有相同列名的列。有谁知道有什么方法可以解决这个问题。因为这使得 linqpad 无法使用,因为这在我当前使用的所有数据库表中都很突出?

下面的例子

如果我有

测试表布局

   CREATE TABLE [dbo].[TestTable](
    [TestTableID] [int] NOT NULL,
    [TestTable] [varchar](max) NULL,
    [Content] [varchar](max) NULL,
    [Value] [varchar](max) NULL
) 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

正如你所看到的,我错过了

Mar*_*rco 1

这让我花了一个小时的时间,但我想我找到了适合你的解决方案。

问题在于 Linqpad 本身的 Linq-To-Sql 提供程序。如果您打开 Visual Studio 并根据数据库创建上下文类,您会注意到该列TestTable被重命名为TestTable1.

因此,我为了利用这一点所做的就是创建一个“类库”类型的新项目 - 目标 Framework 4.0。

  1. 在此我添加了一个新的 Linq-to-Sql 类并将 TestTable 拖入其中。 在此输入图像描述

  2. 进入你的class1.cs并插入:(我不知道这是否有必要)

    //I named my context L2S. Replace accordingly

    public L2SDataContext context = new L2SDataContext();

  3. 编译

  4. 使用类型化上下文添加到 Linqpad 的新连接! 在此输入图像描述

  5. 连接到您的服务器

  6. 询问! 结果