大家好,我在使用 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)

正如你所看到的,我错过了
这让我花了一个小时的时间,但我想我找到了适合你的解决方案。
问题在于 Linqpad 本身的 Linq-To-Sql 提供程序。如果您打开 Visual Studio 并根据数据库创建上下文类,您会注意到该列TestTable被重命名为TestTable1.
因此,我为了利用这一点所做的就是创建一个“类库”类型的新项目 - 目标 Framework 4.0。
在此我添加了一个新的 Linq-to-Sql 类并将 TestTable 拖入其中。

进入你的class1.cs并插入:(我不知道这是否有必要)
//I named my context L2S. Replace accordingly
public L2SDataContext context = new L2SDataContext();
编译
使用类型化上下文添加到 Linqpad 的新连接!

连接到您的服务器
| 归档时间: |
|
| 查看次数: |
931 次 |
| 最近记录: |