找出 LINQPad 查询中某些代码的定义位置
Finding out where some code in a LINQPad query is defined
我在 LINQPad 查询中有以下 C# 代码段:
.Select(x => new LocationDistrict
{ ...
当我将鼠标悬停在 LocationDistrict
上时,工具提示显示:
LINQPad.User.LocationDistrict
如何找出 User.LocationDistrict 是从哪里拉进来的?在右键单击上下文菜单中,转到定义 F12 选项显示为灰色。
TL;DR:LINQPad 根据连接的数据库中的 table 自动生成 类。每个 table 中行的 类 都放在 LINQPad.User
命名空间中。
例如,在以下示例中,我使用的是 AdventureWorks2012 数据库。当我连接到它时,我可以在“连接”窗格中看到许多 "tables":
我可以将它们拖到查询中 window 并开始查询:
本例中的地址类型为 System.Data.Linq.Table<Address>
,其中 Address
的类型为 LINQPad.User.Address
:
因此,在您的案例中,LocationDistrict
似乎是 table 中具有相似名称的单个记录的映射。它在“连接”窗格中将被称为 LocationDistricts
,但由于 LINQPad 进行了一些命名规范化,因此在您的实际数据库中可以被称为 LOCATION_DISTRICT
。
我猜 LINQPad 的制造商需要一些地方来放置这些类型(以避免命名冲突),并决定将 LINQPad.User
作为 acceptable 命名空间。
我在 LINQPad 查询中有以下 C# 代码段:
.Select(x => new LocationDistrict
{ ...
当我将鼠标悬停在 LocationDistrict
上时,工具提示显示:
LINQPad.User.LocationDistrict
如何找出 User.LocationDistrict 是从哪里拉进来的?在右键单击上下文菜单中,转到定义 F12 选项显示为灰色。
TL;DR:LINQPad 根据连接的数据库中的 table 自动生成 类。每个 table 中行的 类 都放在 LINQPad.User
命名空间中。
例如,在以下示例中,我使用的是 AdventureWorks2012 数据库。当我连接到它时,我可以在“连接”窗格中看到许多 "tables":
我可以将它们拖到查询中 window 并开始查询:
本例中的地址类型为 System.Data.Linq.Table<Address>
,其中 Address
的类型为 LINQPad.User.Address
:
因此,在您的案例中,LocationDistrict
似乎是 table 中具有相似名称的单个记录的映射。它在“连接”窗格中将被称为 LocationDistricts
,但由于 LINQPad 进行了一些命名规范化,因此在您的实际数据库中可以被称为 LOCATION_DISTRICT
。
我猜 LINQPad 的制造商需要一些地方来放置这些类型(以避免命名冲突),并决定将 LINQPad.User
作为 acceptable 命名空间。